tim*_*yjc 5 java android crop bitmap
我有一个非常大的图像,我只想显示一个显示大小的部分(没有缩放),该部分应该只是图像的中心.因为图像非常大,我无法将整个图像读入内存然后裁剪.这是我到目前为止所做的,但它会为大图像提供OutOfMemory.另外我不认为inSampleSize适用,因为我想裁剪图像,而不是降低分辨率.
Uri data = getIntent().getData();
InputStream is = getContentResolver().openInputStream(data);
Bitmap bitmap = BitmapFactory.decodeStream(is, null, null);
Run Code Online (Sandbox Code Playgroud)
任何帮助都会很棒?
我同意最简单的方法是将图像分解为许多较小的平铺图像,然后加载适当的图像来制作您想要的图像。
但是,如果您不想这样做,您可能不得不研究 jpeg 本身的编码。
您可以做的是将文件头从文件复制到新文件中,然后仅提取所需的像素以创建新文件。然后重新加载新文件将允许您仅拥有要使用的图像的子集,并且所有常规 java 功能和类将同样可供您使用。
我知道这不一定是一个优雅或简单的解决方案,但它确实保证您将能够使用您期望能够使用的原始 java 功能。
| 归档时间: |
|
| 查看次数: |
2505 次 |
| 最近记录: |