diff --git a/android/src/main/java/fr/greweb/reactnativeviewshot/ViewShot.java b/android/src/main/java/fr/greweb/reactnativeviewshot/ViewShot.java index bd309a6..296a405 100644 --- a/android/src/main/java/fr/greweb/reactnativeviewshot/ViewShot.java +++ b/android/src/main/java/fr/greweb/reactnativeviewshot/ViewShot.java @@ -896,12 +896,13 @@ private Matrix applyTransformations(final Canvas c, @NonNull final View root, @N final float dy = v.getTop() + ((v != child) ? v.getPaddingTop() : 0) + v.getTranslationY(); c.translate(dx, dy); c.rotate(v.getRotation(), v.getPivotX(), v.getPivotY()); - c.scale(v.getScaleX(), v.getScaleY()); + // scale about the view's pivot, matching how android renders the view + c.scale(v.getScaleX(), v.getScaleY(), v.getPivotX(), v.getPivotY()); // compute the matrix just for any future use transform.postTranslate(dx, dy); transform.postRotate(v.getRotation(), v.getPivotX(), v.getPivotY()); - transform.postScale(v.getScaleX(), v.getScaleY()); + transform.postScale(v.getScaleX(), v.getScaleY(), v.getPivotX(), v.getPivotY()); } return transform;