【问题标题】:Android: Cropping an image to specific sizeAndroid:将图像裁剪为特定大小
【发布时间】:2012-03-12 09:24:34
【问题描述】:

我的目的是让用户从图库中挑选一张图片,然后进行裁剪活动。但是,我需要将定义裁剪蒙版的矩形锁定到某个尺寸,然后用户只需重新定位它以显示图像的一部分。

有什么想法可以做到吗?

谢谢

-T

【问题讨论】:

标签: android image image-processing camera crop


【解决方案1】:

您需要创建一个自定义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 并为其创建子位图。

【讨论】:

  • 如果你愿意,我可以给你自定义图像类,可以缩放和平移。
  • 如何获取子位图。这听起来像黑魔法。 -TDK
  • 那个自定义类会有很大帮助。 :)
  • 是的。它为你做一切。
  • 啊,我明白了!您将使用矩形在空间中的定位来定义坐标!杀手!
【解决方案2】:
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());

【讨论】:

  • 你确定..?我不明白这个?
  • 非常感谢。我一直在寻找相同的:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-09-19
  • 2015-02-15
  • 2017-05-09
  • 2020-06-05
  • 2023-03-22
  • 1970-01-01
  • 2013-01-01
相关资源
最近更新 更多