mirror of
https://github.com/storytold/vectorcraft.git
synced 2026-11-13 09:20:56 -06:00
Image Trace had no way to trace some of an image's colors and leave the rest out. Ignore Color drops one color, so tracing only the line work of a multi-color image took a full trace and then deleting the other colors' paths by hand. With "keepColors": ["#rrggbb", ...] in the params of imageTrace.make and imageTrace.makeAndExpand, only the palette colors within about 30 levels of a listed color are traced, the distance Ignore Color matches by. With Method Abutting, the kept colors' paths are the same as in a trace of every color. With Method Overlapping, a kept color's paths do not reach under the colors left out, as with Ignore Color. An empty list traces every color, and a value that is not a six-digit hex color is refused. Flat Logo mode does not use the list. The reply's warnings name each listed color that matches none of the colors the trace found, and say when nothing was traced; the status bar shows the first. The warnings are translated in every complete catalog. The params help of imageTrace.make lists keepColors and the new warnings, and the help of imageTrace.makeAndExpand lists the warnings it returns.
64 lines
4.9 KiB
Markdown
64 lines
4.9 KiB
Markdown
# Adjusting an Image Trace
|
||
|
||
Select a placed raster image, then choose **Image Trace** or a preset from its arrow
|
||
in Properties or the Control bar. The original image stays inside the tracing object so
|
||
that subsequent adjustments always use the original pixels.
|
||
|
||
To adjust the result, select the tracing object and click **Image Trace** in Properties or the
|
||
image icon in the Control bar: the Image Trace panel opens with **Advanced** expanded. An existing floating or docked panel is activated in
|
||
its current location. Opening the controls does not add a document undo step.
|
||
|
||
| Control | Range | Effect |
|
||
|---|---|---|
|
||
| Threshold (Black and White) | 0–255 | Higher values include lighter pixels as black ink. |
|
||
| Paths | 0–100% | Higher values fit outlines more closely to the image. |
|
||
| Corners | 0–100% | Higher values preserve more sharp turns. |
|
||
| Noise | 1–100 px | Suppresses small connected regions; higher values remove more small details. |
|
||
| Method | Abutting / Overlapping | Chooses shared boundaries or stacked overlapping paths. |
|
||
| Create | Fills / Strokes | Creates filled areas, stroked lines, or both. |
|
||
| Ignore Color | Color picker | Leaves out the selected color (white by default). |
|
||
|
||
Sliders apply on release, and their numeric fields can be edited directly. Each committed
|
||
adjustment re-traces the selected object as one undo step and changes the preset to Custom.
|
||
While dragging, the preset and Enhanced row stay in place until release so the
|
||
slider retains its active interaction. Committed settings are synchronized immediately,
|
||
so Undo also restores the panel values before its next frame. View can show the source image, the result, outlines, or combinations without re-tracing.
|
||
Use **Expand** when finished to turn the result into ordinary editable vector objects;
|
||
after expanding, the tracing settings are no longer available. **Release** restores the source.
|
||
|
||
**Auto Color** (the Automatic palette) counts flat art's colours by area, and also keeps colours too
|
||
rare for that count when they are distinct and drawn as regions of their own (a stem, a highlight, a
|
||
white beside a cream), at most six; scattered specks of a colour add none. Adobe does not document how
|
||
its own palettes are chosen; this is VectorCraft's own method (see
|
||
[image-trace-quality.md](image-trace-quality.md#auto-color-keeps-rare-colours)).
|
||
|
||
**Keep Colors.** `"keepColors": ["#rrggbb", …]` in the params of `imageTrace.make` or
|
||
`imageTrace.makeAndExpand` traces only the palette colors within about 30 levels of a listed color,
|
||
the distance Ignore Color matches by, and leaves the other colors out. With Method Abutting, the paths
|
||
of the kept colors are the same as in a trace of every color. With Method Overlapping, a kept color's
|
||
paths reach under the kept colors above it in the stack and not under the colors left out, as with
|
||
Ignore Color. An empty list traces every color, and a value that is not a six-digit hex color is
|
||
refused. With Ignore Color as well, a kept color that Ignore Color matches is still left out. Flat
|
||
Logo does not use `keepColors`: it traces the colors named in `logoColors`, or the colors it finds.
|
||
The reply's `warnings` name each listed color that matches none of the colors the trace found. When
|
||
nothing is traced because no listed color matches, or because Ignore Color leaves out every area of
|
||
the ones that match, the first warning says so, and the status bar shows it. In Flat Logo mode the
|
||
warning says that `keepColors` is not used.
|
||
|
||
**Large images.** An image of more than 1500 pixels on a side is traced as any other, only more
|
||
slowly, and the trace says so: `imageTrace.make` returns the note in `warnings` and the status bar
|
||
shows it (the [results optimization](https://helpx.adobe.com/illustrator/using/image-trace-results-optimization.html)
|
||
page describes the same warning for images over 1500 px). An image of more than 64 megapixels (up to
|
||
192) is traced from a copy scaled down to 64 megapixels, and the trace says that too. A trace that would
|
||
make more than 8,000,000 anchor points (2,000,000 on the web) is refused to protect memory, with advice:
|
||
raise Noise, lower Paths or Colors, or pick a lower-fidelity preset. A trace keeps
|
||
about 90 bytes an anchor; a 4000 × 3000 photo at High Fidelity Photo makes about 1.9 million.
|
||
These controls use VectorCraft's existing tracing algorithm. Parameter effects follow its
|
||
implementation; they do not claim pixel-identical results with another application.
|
||
The terminology and general control behavior are described in the
|
||
[public Image Trace panel documentation](https://helpx.adobe.com/illustrator/desktop/manage-objects/traces-mockups-symbols/image-trace-panel-options.html).
|
||
|
||
Regression coverage: `crates/ui-egui/src/panels/image_trace.rs` tests opening the panel,
|
||
a quick trace leaving it as it was, repeated opening, floating ownership, slider commits, visible threshold
|
||
changes, undo, and the Properties entry point. Tracer tests live in `crates/trace/src/tests.rs`.
|