vcl/source/gdi/salmisc.cxx |   12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

New commits:
commit ec3d48418f1cbad40153b3e4fdc2497ebf0e7d59
Author: Herbert Dürr <h...@apache.org>
Date:   Mon Jul 22 09:50:08 2013 +0000

    #i122796# fix half-pixel offset in StretchAndConvert() image scaling

diff --git a/vcl/source/gdi/salmisc.cxx b/vcl/source/gdi/salmisc.cxx
index 817aa90..7b93189 100644
--- a/vcl/source/gdi/salmisc.cxx
+++ b/vcl/source/gdi/salmisc.cxx
@@ -429,12 +429,12 @@ BitmapBuffer* StretchAndConvert(
     }
 
     // horizontal mapping table
-    if( nDstDX != nSrcDX )
+    if( (nDstDX != nSrcDX) && (nDstDX != 0) )
     {
-        const double fFactorX = ( nDstDX > 1 ) ? (double) ( nSrcDX - 1 ) / ( 
nDstDX - 1 ) : 0.0;
+        const double fFactorX = (double)nSrcDX / nDstDX;
 
         for( i = 0L; i < nDstDX; i++ )
-            pMapX[ i ] = nSrcX + FRound( i * fFactorX );
+            pMapX[ i ] = nSrcX + static_cast<int>( i * fFactorX );
     }
     else
     {
@@ -443,12 +443,12 @@ BitmapBuffer* StretchAndConvert(
     }
 
     // vertical mapping table
-    if( nDstDY != nSrcDY )
+    if( (nDstDY != nSrcDY) && (nDstDY != 0) )
     {
-        const double fFactorY = ( nDstDY > 1 ) ? (double) ( nSrcDY - 1 ) / ( 
nDstDY - 1 ) : 0.0;
+        const double fFactorY = (double)nSrcDY / nDstDY;
 
         for( i = 0L; i < nDstDY; i++ )
-            pMapY[ i ] = nSrcY + FRound( i * fFactorY );
+            pMapY[ i ] = nSrcY + static_cast<int>( i * fFactorY );
     }
     else
     {
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to