Releases: imazen/imageflow
v1.3.3-rc33 - Add --quiet command to imageflow_tool
imageflow_tool --quiet suppresses JSON output from being printed to STDOUT
v1.3.2-rc32
Querystring commands now use the Mozjpeg encoder by default and produce smaller files at the expense of more CPU time. The &jpeg.turbo=true command can be used to restore the original behavior.
v1.3.0-rc30 - BREAKING changes to JSON API
- Add
mode=aspectcrop
to ImageResizer commands andConstrainMode::AspectCrop
to JSON API for minimally cropping to the aspect ratio described byw
andh
- Fix ABI tests and improve function name reporting in said error messages
- JSON BREAKING:
copy_rect_to_canvas
node: .width and .height are now .w and .h - JSON BREAKING:
resample_2d
node: .down_filter, up_filter, scaling_colorspace duplicate fields have been removed (they are now in .hints) - JSON BREAKING:
constrain
has been refactored
New Constrain JSON
"constrain" = {
"mode"= [constraint mode]
"w" = unsigned integer
"h" = unsigned integer
"gravity" = { "percentage" = {x: float, y: float }},
"canvas_color" = (color value)
"hints" = {
resample_hints
}
// Where [constraint mode] is one of these. Use the value in serde(rename) for JSON.
#[derive(Serialize, Deserialize, Clone, PartialEq, Debug)]
pub enum ConstraintMode {
/// Distort the image to exactly the given dimensions.
/// If only one dimension is specified, behaves like `fit`.
#[serde(rename = "distort")]
Distort,
/// Ensure the result fits within the provided dimensions. No upscaling.
#[serde(rename = "within")]
Within,
/// Fit the image within the dimensions, upscaling if needed
#[serde(rename = "fit")]
Fit,
/// Ensure the image is larger than the given dimensions
#[serde(rename = "larger_than")]
LargerThan,
/// Crop to desired aspect ratio if image is larger than requested, then downscale. Ignores smaller images.
/// If only one dimension is specified, behaves like `within`.
#[serde(rename = "within_crop")]
WithinCrop,
/// Crop to desired aspect ratio, then downscale or upscale to fit.
/// If only one dimension is specified, behaves like `fit`.
#[serde(rename = "fit_crop")]
FitCrop,
/// Crop to desired aspect ratio, no upscaling or downscaling. If only one dimension is specified, behaves like Fit.
#[serde(rename = "aspect_crop")]
AspectCrop,
/// Pad to desired aspect ratio if image is larger than requested, then downscale. Ignores smaller images.
/// If only one dimension is specified, behaves like `within`
#[serde(rename = "within_pad")]
WithinPad,
/// Pad to desired aspect ratio, then downscale or upscale to fit
/// If only one dimension is specified, behaves like `fit`.
#[serde(rename = "fit_pad")]
FitPad,
}
Where [resample hints] includes
pub sharpen_percent: Option<f32>,
pub down_filter: Option<Filter>,
pub up_filter: Option<Filter>,
pub scaling_colorspace: Option<ScalingFloatspace>,
pub background_color: Option<Color>,
pub resample_when: Option<ResampleWhen>,
pub sharpen_when: Option<SharpenWhen>
v1.2.2-rc29
Add region { x1,y1,x2,y2, background_color}
and region_percent{x1,y1,x2,y2, background_color}
commands that crop and/or expand the canvas to provide a region of exactly the given rectangle.
v1.2.1-rc28
ImageResizer4 commands: I've added the f.sharpen_when=downscaling|sizediffers|always
command to let you control when sharpening happens in combination with f.sharpen=0..100
This should let you tune the sharpness of text/vector resizing to your liking. The default behavior is tuned for photographs, not vectors.
v1.2.0-rc20
Update github token in appveyor
v1.2.0-rc19
v1.1.0-rc18
Adds whitespace cropping beta, smart chroma subsampling, and now uses stable Rust.
Now publishing builds and nuget packages for:
- Ubuntu 18.04 (64-bit)
- Ubuntu 18.04 (64-bit with haswell feature support)
- Ubuntu 16.04 (64-bit)
- OS X 10.11 (64-bit)
- Windows (32-bit)
- Windows (64-bit)
- WIndows (64-bit with haswell feature support)
v1.0.0-rc14
This release introduces mozjpeg and pngquant, which offer much smaller file sizes for jpeg and png images respectively, albeit with increased CPU usage during encoding.
These can be used via encoder presets:
encode_preset: {
"pngquant" : { quality: [min number, max number], speed: [number]},
"mozjpeg": { quality: number, progressive: bool}
}
Bugfixes
v1.0.0-rc13 Merge branch 'master' of github.com:imazen/imageflow