Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/194.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android:将图像裁剪为特定大小_Android_Image_Image Processing_Camera_Crop - Fatal编程技术网

Android:将图像裁剪为特定大小

Android:将图像裁剪为特定大小,android,image,image-processing,camera,crop,Android,Image,Image Processing,Camera,Crop,我的意图是让用户从图库中选择一幅图像,然后进行裁剪活动。但是,我需要将定义裁剪遮罩的矩形锁定到特定尺寸,然后用户只需重新定位它即可显示图像的一部分 有没有关于如何做到这一点的想法 谢谢 -T您需要创建一个自定义的ImageView类来实现图像的缩放和平移,并且可以在该图像上覆盖一个固定的矩形图像(透明)。并可以创建该位图的子位图。并将其保存在一个文件中 createBitmap(Bitmap source, int x, int y, int width, int height); 此方法用于

我的意图是让用户从图库中选择一幅图像,然后进行裁剪活动。但是,我需要将定义裁剪遮罩的矩形锁定到特定尺寸,然后用户只需重新定位它即可显示图像的一部分

有没有关于如何做到这一点的想法

谢谢


-T

您需要创建一个自定义的
ImageView
类来实现图像的缩放和平移,并且可以在该图像上覆盖一个固定的矩形
图像(透明)
。并可以创建该位图的子位图。并将其保存在一个文件中

createBitmap(Bitmap source, int x, int y, int width, int height);
此方法用于创建子位图


在实现缩放和平移后,我不确定
createBitmap
是否可以从图像的可见部分创建子位图(即,图像的一部分在缩放时在屏幕上不可见),因此请尝试获取
drawingCache()
imageView
创建子位图。

如果需要,我可以为您提供带有缩放和平移的自定义图像类。我如何获取子位图。听起来像是黑魔法-TDK自定义类将大有帮助。:)赞成。它为你做了一切。啊,我明白了!您可以使用矩形在空间中的定位来定义坐标!杀手!检查:你确定吗。。?我不能接受这个?非常感谢。我一直在寻找相同的:)
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());