diff --git a/cmdapp/Cargo.toml b/cmdapp/Cargo.toml index 8f52612..a823947 100644 --- a/cmdapp/Cargo.toml +++ b/cmdapp/Cargo.toml @@ -13,7 +13,7 @@ keywords = ["svg", "computer-graphics"] [dependencies] clap = "2.33.3" image = "0.23.10" -visioncortex = { version = "0.8.1" } +visioncortex = { version = "0.8.4", path = "../../visioncortex" } fastrand = "1.8" pyo3 = { version = "0.19.0", optional = true } diff --git a/cmdapp/src/converter.rs b/cmdapp/src/converter.rs index d0c4c2b..0fb1325 100644 --- a/cmdapp/src/converter.rs +++ b/cmdapp/src/converter.rs @@ -5,13 +5,15 @@ use super::config::{ColorMode, Config, ConverterConfig, Hierarchical}; use super::svg::SvgFile; use fastrand::Rng; use visioncortex::color_clusters::{KeyingAction, Runner, RunnerConfig, HIERARCHICAL_MAX}; -use visioncortex::{Color, ColorImage, ColorName}; +use visioncortex::{approximate_circle_with_spline, Color, ColorImage, ColorName, CompoundPath}; const NUM_UNUSED_COLOR_ITERATIONS: usize = 6; /// The fraction of pixels in the top/bottom rows of the image that need to be transparent before /// the entire image will be keyed. const KEYING_THRESHOLD: f32 = 0.2; +const SMALL_CIRCLE: i32 = 12; + /// Convert an in-memory image into an in-memory SVG pub fn convert(img: ColorImage, config: Config) -> Result { let config = config.into_converter_config(); @@ -167,15 +169,27 @@ fn color_image_to_svg(mut img: ColorImage, config: ConverterConfig) -> Result