【发布时间】:2012-03-12 09:24:34
【问题描述】:
我的目的是让用户从图库中挑选一张图片,然后进行裁剪活动。但是,我需要将定义裁剪蒙版的矩形锁定到某个尺寸,然后用户只需重新定位它以显示图像的一部分。
有什么想法可以做到吗?
谢谢
-T
【问题讨论】:
标签: android image image-processing camera crop
我的目的是让用户从图库中挑选一张图片,然后进行裁剪活动。但是,我需要将定义裁剪蒙版的矩形锁定到某个尺寸,然后用户只需重新定位它以显示图像的一部分。
有什么想法可以做到吗?
谢谢
-T
【问题讨论】:
标签: android image image-processing camera crop
您需要创建一个自定义ImageView 类来实现图像的缩放和平移,并且可以在该图像上覆盖一个固定的矩形image(transparent)。并且可以创建该位图的子位图。并将其保存在一个文件中。
createBitmap(Bitmap source, int x, int y, int width, int height);
此方法用于创建子位图。
http://blog.sephiroth.it/2011/04/04/imageview-zoom-and-scroll/
实现缩放和平移后,我不确定createBitmap是否可以从图像的可见部分创建子位图(即缩放时部分图像不会在屏幕上可见),所以尝试获取drawingCache() 来自 imageView 并为其创建子位图。
【讨论】:
Intent intent = new Intent(Intent.ACTION_GET_CONTENT, null)
.setType("image/*")
.putExtra("crop", "true")
.putExtra("aspectX", width)
.putExtra("aspectY", height)
.putExtra("outputX", width)
.putExtra("outputY", height)
.putExtra("scale", true)
.putExtra("scaleUpIfNeeded", true)
.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(f))
.putExtra("outputFormat", Bitmap.CompressFormat.JPEG.toString());
【讨论】: