Нарисуйте изображение с фиксированной высотой и шириной реактивного ранца, создайте холст с помощью drawImage()Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Нарисуйте изображение с фиксированной высотой и шириной реактивного ранца, создайте холст с помощью drawImage()

Сообщение Anonymous »

Как нарисовать изображение на холсте Jetpack Compose, гарантируя, что изображение идеально вписывается по всей ширине и высоте холста, особенно если разрешение изображения значительно превышает размер холста? Я хотел бы уменьшить размер изображения, чтобы он соответствовал размерам холста.

Код: Выделить всё

@Composable
fun Item(
imageResId: Int,
parallaxOffset: Float,
pagerHeight: Dp,
screenWidth: Dp,
density: Float,
scaleFactor: Float,
modifier: Modifier = Modifier,
imageCornerRadius: Dp = 24.dp,
imageHeight: Dp = 250.dp,
) {
// Load the image bitmap
val imageBitmap = ImageBitmap.imageResource(id = imageResId)

Column(
horizontalAlignment = Alignment.CenterHorizontally,
verticalArrangement = Arrangement.Center
) {
// Card composable for the item
Box(modifier = modifier
.graphicsLayer {
scaleX = scaleFactor
scaleY = scaleFactor
}
.clip(RoundedCornerShape(imageCornerRadius))) {

Canvas(
modifier = Modifier
.fillMaxWidth()
.height(250.dp)
.clip(shape)
) {)
translate(left = parallaxOffset * density) {
// Draw the image
drawImage(
image = imageBitmap,
dstOffset = IntOffset(-xOffset.toIntPx(density), 0),
)
}
}

}

}

}
Изображение


Подробнее здесь: https://stackoverflow.com/questions/772 ... -drawimage
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»