https://bugs.kde.org/show_bug.cgi?id=277996

Nate Graham <n...@kde.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |FIXED
   Version Fixed In|                            |19.12.0
             Status|CONFIRMED                   |RESOLVED
      Latest Commit|                            |https://commits.kde.org/gwe
                   |                            |nview/24cd548e1f7fb85319706
                   |                            |134980c5354efb5053d

--- Comment #10 from Nate Graham <n...@kde.org> ---
Git commit 24cd548e1f7fb85319706134980c5354efb5053d by Nate Graham.
Committed on 24/08/2019 at 17:37.
Pushed by ngraham into branch 'master'.

Allow the user to select the JPEG save/compression quality

Summary:
Currently, anytime Gwenview is used to save a non-JPEG file as a JPEG, or
anytime JPEG file is saved or re-saved after performing a lossy edit (e.g. crop
or red eye, but not rotation), the new file is saved with 75% quality level,
resulting in a noticeable degradation in appearance.

This patch implements a user-selectable JPEG save/compression quality setting,
which can be temporarily overridden in the {nav Save As} dialog when saving a
file as a JPEG. The new default quality level is 90% -- same as Spectacle. This
should prevent people from accdientally destroying their JPEGs.

As before, when saving an existing JPEG file with a new name or after
performing a non-lossy edit (e.g. rotation, which only changes the EXIF
rotation tag), the appearance of the file is not changed because no actual
image manipulation is done.
FIXED-IN: 19.12.0

Test Plan:
{F7205336}

{F7208763}

Set JPEG quality to 5% in the config file and test the following use cases:
- Non-JPEG image: do {nav Save} or {nav Save As} in non-JPEG formats -> No
changes or regressions.
- JPEG image: do {nav Save} or {nav Save As} without changing the image format
or the image's pixels at all -> No changes; quality level not taken into
consideration because these are lossless operations that do not re-compress the
image (which is good)
- JPEG image: do {nav Save} or {nav Save As} after changing the image's pixels
in some way (e.g. a crop operation) -> Image is saved with the user-specified
5% quality level and looks terrible
- JPEG image: do {nav Save As} into a non-JPEG file format after changing the
image image's pixels in some way, or not -> No changes or regressions (in
particular, lossless images like PNG are not hugely ballooned in file size)

Set JPEG quality to 90% in the config file and test the following use cases:
- Non-JPEG image: do {nav Save As} in non-JPEG formats -> No changes or
regressions; dialog box does not show quality spinbox
- Non-JPEG image: do {nav Save As} into a JPEG and in the {nav Save As] dialog,
change the quality from 90% to 5%-> Image is saved with the user-specified 5%
quality level and looks terrible
- JPEG image: do {nav Save As} into a non-JPEG file format -> No changes or
regressions; dialog box does not show quality spinbox
- JPEG image: do {nav Save As} after changing the image's pixels in some way
(e.g. a crop operation), and in the {nav Save As] dialog, change the quality
from 90% to 5%-> Image is saved with the user-specified 5% quality level and
looks terrible

Reviewers: #gwenview, #vdg

Subscribers: filipf, pino

Tags: #gwenview

Differential Revision: https://phabricator.kde.org/D23106

M  +40   -4    app/generalconfigpage.ui
M  +68   -10   app/gvcore.cpp
M  +5    -0    lib/document/documentloadedimpl.cpp
M  +4    -0    lib/gwenviewconfig.kcfg
M  +1    -0    lib/jpegcontent.cpp

https://commits.kde.org/gwenview/24cd548e1f7fb85319706134980c5354efb5053d

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to