Qwt 6-x uses a double based render engine, what makes it possible to print with a scaled painter without losing precision for all vector graphics. Raster data is different as any scaled image is worse compared to an image that is rendered in device coordinates.

That's why QwtPlotRasterItem fiddles around with the painter transformation, using it for finding the bounding rect of the image but disabling it for rendering the image and painting it later. Guess there is a bug in combination with QPainter::setWindow.

The code can be found in QwtPlotRasterItem::draw. The important code is the calculation of paintRect and all lines with the painter.

Uwe