< prev index next >
src/java.desktop/share/classes/sun/java2d/pipe/DrawImage.java
Print this page
@@ -734,13 +734,14 @@
double m00 = (double)(dx2-dx1)/(sx2-sx1);
double m11 = (double)(dy2-dy1)/(sy2-sy1);
atfm.scale(m00, m11);
atfm.translate(srcX-sx1, srcY-sy1);
- final int scale = SurfaceManager.getImageScale(img);
- final int imgW = img.getWidth(null) * scale;
- final int imgH = img.getHeight(null) * scale;
+ final double scaleX = SurfaceManager.getImageScaleX(img);
+ final double scaleY = SurfaceManager.getImageScaleY(img);
+ final int imgW = (int) Math.ceil(img.getWidth(null) * scaleX);
+ final int imgH = (int) Math.ceil(img.getHeight(null) * scaleY);
srcW += srcX;
srcH += srcY;
// Make sure we are not out of bounds
if (srcW > imgW) {
srcW = imgW;
< prev index next >