【发布时间】:2020-01-08 18:13:04
【问题描述】:
我想拍照并使用 CameraX 从中心裁剪出 25x25 dp 的正方形。我已经读到使用 ImageCapture 可以进行裁剪,但不幸的是,到目前为止几乎没有类似的例子。
val imageCaptureConfig = ImageCaptureConfig.Builder().apply {
setTargetAspectRatio(Rational(1, 1))
setCaptureMode(ImageCapture.CaptureMode.MIN_LATENCY)
}.build()
val imageCapture = ImageCapture(imageCaptureConfig)
btn_take_photo.setOnClickListener {
imageCapture.takePicture(
object : ImageCapture.OnImageCapturedListener() {
override fun onCaptureSuccess(image: ImageProxy?, rotationDegrees: Int) {
super.onCaptureSuccess(image, rotationDegrees)
// image manipulation here?
}
}
)
}
【问题讨论】:
-
您是否特别想使用 CameraX 执行此操作?如果没有,您可以使用 Glide 及其 Transformations。
-
我也可以使用 Glide,是的。我想也许有一些功能,因为 CameraX 看起来很强大。
-
CameraX 主要是一个与设备的摄像头交互的 API。这是更多与硬件相关的东西。图像处理并不是这个 API 旨在实现的。
-
好的,非常感谢亚瑟!已经帮了大忙了。如果你把它写下来作为答案,我可以标记你的答案
-
不幸的是,我无法回答实际问题。使用 Glide 从图像中裁剪出固定大小的正方形比我预期的要难。你可以看看this article,它解释了如何实现它。之后你可以自己回答这个问题。