Код: Выделить всё
val pointersCoordinates = PointersCoordinates(
x1 = 196.0f,
y1 = 400.0f,
x2 = 943.0f,
y2 = 422.8798f,
x3 = 882.0f,
y3 = 1616.0f
)
val exposureShape = GenericShape { _, _ ->
moveTo(pointersCoordinates.xTopLeftZoom(), pointersCoordinates.yTopLeftZoom())
lineTo(pointersCoordinates.xTopRightZoom(), pointersCoordinates.yTopRightZoom())
lineTo(pointersCoordinates.xBottomRightZoom(), pointersCoordinates.yBottomRightZoom())
lineTo(pointersCoordinates.xBottomLeftZoom(), pointersCoordinates.yBottomLeftZoom())
}
Surface(
modifier = Modifier
.background(Color-Blue),
shape = exposureShape,
) {
Image(
modifier = Modifier
.fillMaxSize()
.scale(-1f, 1f),
contentScale = ContentScale.Crop,
bitmap = myBitmap?.asImageBitmap() ?: ImageBitmap(0, 0),
contentDescription = "photo",
)
}
< /code>
Проблема заключается в том, что изображение не ограничивается формой нарисованной четырехсторонней. Вместо этого он, кажется, заполняет весь экран, и из -за содержания calecale = contentscale.crop Подробнее здесь: https://stackoverflow.com/questions/795 ... ck-compose