Skip to content

Commit d4aa131

Browse files
committed
Add gamma/sepia/posterize/opacity/set_orientation; fix add_alpha :opaque/:transparent
1 parent fef5505 commit d4aa131

5 files changed

Lines changed: 699 additions & 13 deletions

File tree

CHANGELOG.md

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,26 @@ This is the changelog for Image version 0.67.0 released on ______, 2026. For ol
66

77
### Enhancements
88

9-
* Adds `Image.vignette/2`
9+
* Adds `Image.vignette/2`.
1010

1111
* Adds `Image.Palette.extract/2` — perceptual palette extraction from an image via K-means in Oklab plus the `Color.Palette.Cluster` merge / phantom-guard / centroid-aware-rep pipeline (requires `:scholar` and `:nx`).
1212

13+
* Adds `Image.gamma/2` — per-band gamma curve adjustment (wraps `Vix.Vips.Operation.gamma/2`).
14+
15+
* Adds `Image.sepia/2` — single-pass sepia tone via a 3×3 colour-recombination matrix; accepts a `0.0..1.0` strength that blends the matrix with the identity (matching imgix's `sepia=N` percentage).
16+
17+
* Adds `Image.posterize/2` — quantises each band to `2..256` evenly-spaced levels for a flat-shaded, comic-strip rendering.
18+
19+
* Adds `Image.opacity/2` — multiplies the alpha band by a `0.0..1.0` factor; adds an opaque alpha band first when the input has none.
20+
21+
* Adds `Image.set_orientation/2` — overrides the EXIF orientation tag without rotating the underlying pixels (paired with `Image.open/2`'s default `autorotate: false` for full caller control over orientation; matches imgix's `or=N`).
22+
23+
* Adds `:lossy` and `:chroma_subsampling` options to `Image.write/3`. `:lossy` (boolean) toggles the lossless wire format on WebP / AVIF and palette-quantisation on PNG. `:chroma_subsampling` selects `:auto` / `:on` (4:2:0) / `:off` (4:4:4) on JPEG and AVIF.
24+
25+
### Bug Fixes
26+
27+
* `Image.add_alpha/2`'s `:opaque` and `:transparent` atoms now produce alpha = 255 and alpha = 0 respectively, matching the standard libvips / RGBA convention. The previous values were inverted relative to their names; integer values pass through unchanged.
28+
1329
## Image 0.66.0
1430

1531
This is the changelog for Image version 0.66.0 released on April 25th, 2026. For older changelogs please consult the release tag on [GitHub](https://github.com/elixir-image/image/tags)

0 commit comments

Comments
 (0)