diff -BburN qt.old/ImageQt.cpp qt/ImageQt.cpp
--- qt.old/ImageQt.cpp	2010-12-08 15:26:15.237726493 +0800
+++ qt/ImageQt.cpp	2010-12-09 18:22:20.817755997 +0800
@@ -189,6 +189,13 @@
 
     // Test using example site at
     // http://www.meyerweb.com/eric/css/edge/complexspiral/demo.html
+    float tsw = src.width();
+    float tsh = src.height();
+    float tw = dst.width();
+    float th = dst.height();
+    if( tw <= tsw && th <= tsh && ctxt->platformContext()->combinedTransform().type() <= QTransform::TxScale){
+        painter->setRenderHint(QPainter::SmoothPixmapTransform, false);
+    }
     painter->drawPixmap(dst, *image, src);
 
     ctxt->restore();
