docthor/Writerside/topics/Snippets.md

1.0 KiB

Snippets

Scale a Shape alongside ZoomImage


@Composable
fun shapes(zoomableState: ZoomableState) {
    Box(modifier = Modifier.fillMaxSize()) {
        val scaleX = zoomableState.transform.scaleX
        val scaleY = zoomableState.transform.scaleY
        Box(
            modifier = Modifier
                .offset { IntOffset(
                    ((zoomableState.transform.offset.x + (288 * scaleX)) ).toInt(),
                    ((zoomableState.transform.offset.y + (697 * scaleY)) ).toInt()
                ) }
                .clip(RectangleShape)
                .size(100.dp * scaleX)
                .background(Color.Red)
        )
    }
}

Scale a Canvas alongside Zoomimage

drawRect(
    Color.Blue,
    topLeft = zoomableState.transform.offset + (Offset(288 * zoomableState.transform.scaleX,697 * zoomableState.transform.scaleY)),
    size = Size( (793 - 288)* zoomableState.transform.scaleX, (741 - 697) * zoomableState.transform.scaleY),
    style = Stroke(width = 5f)
)