mirror of
https://github.com/storytold/vectorcraft.git
synced 2026-11-13 23:35:10 +00:00
Object › Plug-ins › Image Tools gains Color Mask… (`addon.image.colorMask`), Remove Color Mask and Apply Color Mask. Color Mask hides colors of the selected images without changing their pixels. It matches colors as Remove Background does: the edge color, the corner color or picked colors, with Contiguous, Match, Tolerance and Softness. The mask is kept with the image object and saved with the document: its settings, and a PNG of the image's pixels with the hidden colors made clear, at the source's depth with its color profile and resolution. It is a VectorCraft addition. - The canvas (clip groups and white-shape opacity masks included), printing and separations, PDF (soft masks of CMYK images included), SVG, EPS, the raster formats, the legacy .ai and .ai editing data, EMF/WMF, DXF and the flattener draw the masked pixels. A linked image stays linked, and an output that would refer to its file writes the masked pixels instead. - Copy and paste, placing a document and placed documents carry the masked pixels with the image, under the names they are given there. - The dialog opens on the selected image's mask settings, with a Preview. Without settings, the command returns them and changes nothing. - Setting, removing and applying a mask are each one undo step, and no step is added when nothing changes. Apply makes the masked pixels the image's own and embeds a linked image. A mask that hides nothing is only taken off, and the image keeps its pixels and its link. - When an image's own pixels are replaced (Update Link, Relink, Crop Image, a recolor, a linked file read again on open), its mask is made again for the new pixels, in every art tree and in opacity-mask art. Crop Image cuts the image's own pixels. When the new pixels can't be masked, the mask keeps its settings and hides nothing. - Objects in `ids` that are not images, CMYK images, linked images that show their preview, images past the decode allowance, masks that would hide every pixel, and grayscale images colorized with a process color are refused. The Eyedropper, Object Mosaic, Create Gradient Mesh, Crop Image's trim and Image Trace read the image's own pixels. - An image is selected by a click anywhere in its frame, as before. Remove Background now also refuses a grayscale image colorized with a process color. Its result has an alpha channel, and a process color is refused on a grayscale image with transparency. Docs: docs/mcp.md (Image Tools add-on › Color Mask), docs/target-app-parity.md.
37 lines
870 B
Rust
37 lines
870 B
Rust
//! VectorCraft's built-in add-ons: extra tools beyond the standard menus, each a module of its own
|
|
//! with commands under `addon.<name>.*` (see `docs/mcp.md`).
|
|
|
|
mod arrange;
|
|
mod cleanup;
|
|
mod color;
|
|
mod contour;
|
|
mod cutting;
|
|
mod document;
|
|
mod image;
|
|
mod pathtools;
|
|
mod pen;
|
|
mod select;
|
|
mod shapes;
|
|
mod typetools;
|
|
|
|
pub(crate) use image::{DecodedImages, refresh_color_masks};
|
|
|
|
use super::CommandSpec;
|
|
|
|
/// The commands of every built-in add-on.
|
|
pub fn specs() -> Vec<CommandSpec> {
|
|
let mut v = arrange::specs();
|
|
v.extend(cleanup::specs());
|
|
v.extend(color::specs());
|
|
v.extend(contour::specs());
|
|
v.extend(cutting::specs());
|
|
v.extend(document::specs());
|
|
v.extend(image::specs());
|
|
v.extend(pathtools::specs());
|
|
v.extend(pen::specs());
|
|
v.extend(select::specs());
|
|
v.extend(shapes::specs());
|
|
v.extend(typetools::specs());
|
|
v
|
|
}
|