在 Android 上即时裁剪图像
Posted
技术标签:
【中文标题】在 Android 上即时裁剪图像【英文标题】:Image cropping on the fly on Android 【发布时间】:2011-11-24 09:03:23 【问题描述】:我正在为 android 执行 OCR 实用程序,我想即时裁剪图像,我的意思是,拍照并在 JPEG 回调中能够从 Android 返回给您的字节数组中裁剪图像之前保存它或其他任何东西。
最初的问题是我需要从该图像生成位图,如果它具有高分辨率,我会收到“位图超出 VM 预算”错误。由于 OCR 的处理时间,我还想裁剪图像(自动,不允许用户这样做)。
我看到了来自 Android 2.3.3 的 BitmapRegionDecoder 类,这使我想做的所有事情,但我需要使用早期版本。有什么建议吗?
谢谢你们!
【问题讨论】:
【参考方案1】:假设它不使用任何本机代码,只需将BitmapRegionDecoder
复制到您的项目并使用它而不是系统版本。
【讨论】:
我确实试过了,但它确实使用了本机代码。而且该本地代码与其他库有很多依赖关系,因此使用 NDK 编译它并向后导出似乎不是一种选择......【参考方案2】:最后,我意识到只有两个可行的选项似乎是将照片存储在 SD 卡中,然后使用它或使用本机库(内存分配是在 Dalvik VM 堆之外完成的,所以你能够使用比 VM 内部多 10 倍的 RAM)。我想我会选择先存储它。似乎更易于操作和维护。
【讨论】:
以上是关于在 Android 上即时裁剪图像的主要内容,如果未能解决你的问题,请参考以下文章