Fix tall image final state

The initial animation frame is still off on both platforms.
This commit is contained in:
Dan Abramov
2024-11-08 03:36:35 +00:00
parent d78d65e290
commit 112504bac7
2 changed files with 15 additions and 4 deletions
@@ -325,10 +325,13 @@ const ImageItem = ({
{translateY: translateY},
{scale},
]
const screenSize = measureSafeArea()
return {
width: '100%',
aspectRatio: imageAspect,
transform: scaleAndMoveTransform.concat(manipulationTransform),
width: screenSize.width,
maxHeight: screenSize.height,
aspectRatio: imageAspect,
alignSelf: 'center',
}
})
+10 -2
View File
@@ -640,8 +640,16 @@ function interpolateTransform(
uncroppedInitialWidth = thumbnailDims.width
uncroppedInitialHeight = thumbnailDims.width / imageAspect
}
const finalWidth = safeArea.width
const finalHeight = safeArea.width / imageAspect
const safeAreaAspect = safeArea.width / safeArea.height
let finalWidth
let finalHeight
if (safeAreaAspect > imageAspect) {
finalWidth = safeArea.height * imageAspect
finalHeight = safeArea.height
} else {
finalWidth = safeArea.width
finalHeight = safeArea.width / imageAspect
}
const initialScale = Math.min(
uncroppedInitialWidth / finalWidth,
uncroppedInitialHeight / finalHeight,