如何裁剪图像以删除其填充
How to clip an image to remove its padding
我正在显示来自 YouTube 的缩略图。这些图像的顶部和底部有黑色矩形。
我想显示没有那个矩形的图像。我如何设置垂直“填充”以删除黑色矩形。
Image(
painter = rememberImagePainter("https://img.youtube.com/vi/RS6By_pE7uo/0.jpg"),
modifier = Modifier
.width(itemWidth)
.height(photoImageHeight)
contentScale = ContentScale.FillBounds
)
将图像放在一个框内,该框的宽度与图像相同,但其高度减少了图像上方和下方黑条使用的高度量。然后使用 cropToBounds
:
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
val w = 480f / LocalDensity.current.density * 2.7f
val h = 360 / LocalDensity.current.density * 2.7f
Box(
modifier = Modifier
.requiredWidth(w.dp)
.requiredHeight(h.dp - 70.dp)
.clip(shape= RoundedCornerShape(30.dp))
) {
Image(
modifier = Modifier
.requiredWidth(w.dp)
.requiredHeight(h.dp),
painter = rememberImagePainter(
data = "https://img.youtube.com/vi/RS6By_pE7uo/0.jpg",
),
contentDescription = null,
contentScale = ContentScale.FillWidth,
)
}
}
}
}
我正在显示来自 YouTube 的缩略图。这些图像的顶部和底部有黑色矩形。
我想显示没有那个矩形的图像。我如何设置垂直“填充”以删除黑色矩形。
Image(
painter = rememberImagePainter("https://img.youtube.com/vi/RS6By_pE7uo/0.jpg"),
modifier = Modifier
.width(itemWidth)
.height(photoImageHeight)
contentScale = ContentScale.FillBounds
)
将图像放在一个框内,该框的宽度与图像相同,但其高度减少了图像上方和下方黑条使用的高度量。然后使用 cropToBounds
:
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
val w = 480f / LocalDensity.current.density * 2.7f
val h = 360 / LocalDensity.current.density * 2.7f
Box(
modifier = Modifier
.requiredWidth(w.dp)
.requiredHeight(h.dp - 70.dp)
.clip(shape= RoundedCornerShape(30.dp))
) {
Image(
modifier = Modifier
.requiredWidth(w.dp)
.requiredHeight(h.dp),
painter = rememberImagePainter(
data = "https://img.youtube.com/vi/RS6By_pE7uo/0.jpg",
),
contentDescription = null,
contentScale = ContentScale.FillWidth,
)
}
}
}
}