fix: crop save dropped blue channel brightness/contrast offset (v1.4.2)
Build & Release / build-linux (push) Has been cancelled
Build & Release / build-windows (push) Has been cancelled
Build & Release / create-release (push) Has been cancelled

m[13] (blue alpha coefficient, always 0) was read as the blue offset instead of
m[14], so saved JPEGs lost the blue brightness/contrast offset and came out with a
color cast. Saturation/rotate were unaffected (no offsets).

Also: version 1.4.2, CHANGELOG entry, dist/ ships imajviewer_1.4.2_amd64.deb
(replaces 1.4.1).
This commit is contained in:
Alhan committed 2026-10-12 22:22:04 +03:00
1 parent afe99198ff
commit b3bd540549
5 files changed
+10 -3

No files matched your search

+1 -1
View File
@@ -49,7 +49,7 @@ app.*.map.json
*.deb *.deb
*.tar.gz *.tar.gz
*.exe *.exe
!dist/imajviewer_1.4.1_amd64.deb !dist/imajviewer_1.4.2_amd64.deb
!dist/imajviewer_setup_1.1.0.exe !dist/imajviewer_setup_1.1.0.exe
deb/usr/lib/imajviewer/ deb/usr/lib/imajviewer/
release/ release/
+7
View File
@@ -4,6 +4,13 @@ All notable changes to imajViewer are documented in this file.
## [Unreleased] ## [Unreleased]
## [1.4.2] - 2026-10-12
### Fixed
- Crop save dropped the blue channel's brightness/contrast offset (matrix index `m[13]`, the
alpha coefficient, instead of `m[14]`), so saved JPEGs came out with a color cast whenever
brightness or contrast was applied. Saturation/rotate were unaffected.
## [1.4.1] - 2026-10-11 ## [1.4.1] - 2026-10-11
### Fixed ### Fixed
+1 -1
View File
@@ -143,7 +143,7 @@ class CropSaveService {
final r = pixel.r.toDouble(), g = pixel.g.toDouble(), b = pixel.b.toDouble(); final r = pixel.r.toDouble(), g = pixel.g.toDouble(), b = pixel.b.toDouble();
pixel.r = (m[0] * r + m[1] * g + m[2] * b + m[4]).clamp(0, 255).round(); pixel.r = (m[0] * r + m[1] * g + m[2] * b + m[4]).clamp(0, 255).round();
pixel.g = (m[5] * r + m[6] * g + m[7] * b + m[9]).clamp(0, 255).round(); pixel.g = (m[5] * r + m[6] * g + m[7] * b + m[9]).clamp(0, 255).round();
pixel.b = (m[10] * r + m[11] * g + m[12] * b + m[13]).clamp(0, 255).round(); pixel.b = (m[10] * r + m[11] * g + m[12] * b + m[14]).clamp(0, 255).round();
} }
} }
} }
+1 -1
View File
@@ -1,7 +1,7 @@
name: imajviewer name: imajviewer
description: "Ultra-lightweight image viewer for Linux and Windows." description: "Ultra-lightweight image viewer for Linux and Windows."
publish_to: 'none' publish_to: 'none'
version: 1.4.1+9 version: 1.4.2+10
msix_config: msix_config:
display_name: ImajViewer display_name: ImajViewer