When looking at the source of QGraphicsOpacityEffect, I see this line:
Qt::CoordinateSystem system = sourceIsPixmap() ? Qt::LogicalCoordinates : Qt::DeviceCoordinates;
I understand why you would want to use device coordinates when the source is a pixmap (avoid ugly pixmap scaling), but why choose explicitly for logical coordinates when the source is not a pixmap (QImage?)? Why not always draw in device coordinates?