digiKam image editor and zoom level...
Following this old bugzilla entry, about to use a better image scaling algorithm for image editor canvas, i decided to perform some comparisons between Showfoto and other photo editors. A 16 bits color depth PNG image is used. It's a photo from my son face, converted from a MRW Raw file taken with my Minolta camera. Used zoom level is 576 percents.
Showfoto vs Gwenview
Genview use default QGraphicView class to perform rendering in canvas. It really enough for gwenview... Showfoto use Imlib2 code ported to Qt4 with support of 16 bits color depth image. All is included to Digikam::DImg container (QImage like) to play with photo data/meta-data.
Depending of zoom level, Imlib2 code use very complex algorithm to speed-up rendering and to anti-alias pixels. This is why zoomed image is a little bit blurred
Showfoto vs Gimp
Gimp use GTK based pixmap code. There is no anti-aliasing feature here. Zoom level is the same. Excepted blur effect in showfoto, result is the same.
Showfoto vs Krita
As Gwenview, Krita use QGraphicView to render canvas. So no anti-aliasing is present. I don't have tested OpenGL version, because my ATI video cards is not yet supported properly under Linux (No more free time to investigate in fact). But Look the nice bug in Krita. I need to use a different zoom level to have the same size on screen... Of course it's a beta7 release for KDE4, but i'm a little bit surprised by this dysfunction.
Showfoto vs Photoshop
It's Photoshop 7.0 running under wine. There is no anti-aliasing available in this version. But this test confirm zoom level bug from Krita...
To conclude
I love anti-aliasing feature implemented to Showfoto canvas. It's not to bad and image sound smoothed cleanly. Perhaps we can just add an option in configuration panel to be able to disable it... if it's really needs.

what about free rotation ?
Interesting Gilles, do you know if Digikam competes well also for free rotation ? I had the impression that when you turn antialiasing on for free rotation the image is blurred a little bit too much.
Er...
Krita uses the image resolution and your screen resolution when calculating the size of the image at a given zoom level. If you don't want that, press the little button right to the zoom slider.
We also don't use QGraphicsView. What we do use depends on the zoom level:
* at over 200% we use unsmoothed QPainter scaling
* between 100% and 200% we use the ordinary QPainter scaling with the QPainter::SmoothPixmapTransform flag
* under 100% we use the smootscaling algorithm from qimageblitz, or, optionally (and off by default) a nearest neighbour sampling method we retained from Krita 1.6.
In the end we decided on the three steps described above: our users do not want any anti-aliasing when zooming in above 200%.
We have experimented with all sorts of scaling code, including code ported from imlib2. QImageBlitz's scaling is, in fact, also based on the imlib2 code.
Colors
There also seem to be differences in color. The Krita version looks reddish when compare to the others.
Gwenview...
Gwenview does not use QGraphicsView, just QImage::scale(). Its behavior is similar to Krita (albeit a bit simpler):
if zoom < 200%: it uses QImage::SmoothTransformation mode
if zoom >= 200%: it uses QImage::FastTransformation mode
The reason for this is that I believe if people zoom more than 200%, they actually want to see the real pixels, for example to fine tune a crop.
Pixel
Please disable smoothing at zoom factors equal or larger than 200% - at least in the image editor. There is a reason that all other image editors do not smooth at these zoom factors...
Best regards,
Matthias
Disabled by default
I wish that too. When doing accurate work, you need to see pixels and how the effects are affecting to them. If smoothing it is not nice.
The smooth factor could be enabled by user if wanted.