| Summary: | Saving image modified in the image viewer using Ctrl+S causes graphical glitch | ||
|---|---|---|---|
| Product: | [Applications] digikam | Reporter: | Michał Kosmulski <michal> |
| Component: | ImageEditor-Save | Assignee: | Digikam Developers <digikam-bugs-null> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | CC: | caulier.gilles |
| Priority: | NOR | ||
| Version First Reported In: | unspecified | ||
| Target Milestone: | --- | ||
| Platform: | unspecified | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | 7.5.0 | |
| Sentry Crash Report: | |||
|
Description
Michał Kosmulski
2004-10-17 00:04:24 UTC
I have already reported this bug to Renchi Raju in the past. I will try to fix it in the future... Gilles Caulier I only happens if "zoom autofit" is enabled. Yes, me too... Something is wrong in the repaint event... Gilles i had a close look at this and i believe the problem is in calculation of the image clipping if you render only a small section of the image. depending on how these sections are painted, adjacent sections will have mismatch. i have tried out a tile based approach where image is split into small tiles of equal size and then painted and that seems to fix it. but it also breaks the current selection mask process. since all these needs substantial changes in the code and it doesn't severely hampers usability, i will defer this to 0.7.1 release. CVS commit by pahlibar:
* reworked the image painting routines:
- the painting is done onto pixmaps tiles which
are cached
- tile size is 512x512 (surprisingly the speed of
the scaling routines in imlib2 tends to scale
non-linearly, i.e. its much faster to render one big
tile than a bunch of small ones). that's why such
a big tile size. at most 20 tiles are cached at one
time.
- tile updating and painting is done on demand - expose,
paint, cache
- fixes glitches in the painting
* minor change: the blended color has been changed to a
shade of grey with slightly more opaqueness. i have found
this color to be more usable than the previous darker blend
BUG: 91486
M +157 -141 canvas.cpp 1.25
M +4 -5 canvas.h 1.15
M +3 -3 imagewindow.cpp 1.55
M +21 -61 imlibinterface.cpp 1.32
M +9 -8 imlibinterface.h 1.16
|