diff -r ea32089c914c modules/graphics/src/main/java/com/sun/javafx/sg/prism/NGRegion.java --- a/modules/graphics/src/main/java/com/sun/javafx/sg/prism/NGRegion.java Mon Oct 21 15:37:36 2013 -0700 +++ b/modules/graphics/src/main/java/com/sun/javafx/sg/prism/NGRegion.java Tue Oct 22 15:31:06 2013 -0700 @@ -1679,7 +1679,8 @@ */ private Shape resizeShape(float topOffset, float rightOffset, float bottomOffset, float leftOffset) { // The bounds of the shape, before any centering / scaling takes place - final RectBounds bounds = shape.getBounds(); + //final RectBounds bounds = shape.getBounds(); + final com.sun.javafx.geom.BaseBounds bounds = ngShape.getCompleteBounds(new RectBounds(), BaseTransform.IDENTITY_TRANSFORM); if (scaleShape) { // First we need to modify the transform to scale the shape so that it will fit // within the insets. @@ -1705,6 +1706,7 @@ float newW = boundsWidth - leftOffset - rightOffset; float newH = boundsHeight - topOffset - bottomOffset; SCRATCH_AFFINE.setToIdentity(); + SCRATCH_AFFINE.deriveWithNewTransform(ngShape.getTransform()); SCRATCH_AFFINE.translate(leftOffset + (width - boundsWidth)/2 - bounds.getMinX(), topOffset + (height - boundsHeight)/2 - bounds.getMinY()); if (newH != boundsHeight || newW != boundsWidth) {