如果我有一个大的位图文件,该文件通常会生成“内存不足”异常,那么如何将其加载为图块?例如,我有一个10,000x10,000的图片,我想将其拆分为一个10x10的网格,其中包含1,000x1,000像素的图块。
我已经看过该功能,Bitmap.createBitmap(sourceBitmap, x, y, width, height)
但是它需要我的大图像作为源输入。
如何在不完全加载输入图像的情况下从输入图像获取图块?
Romain Guy的回答“是否有可能将位图切成小块而无需将整个内容加载到内存中?:
Android 2.3.3具有一个名为android.graphics.BitmapRegionDecoder的新API,可让您完全执行所需的操作。
例如,您将执行以下操作:
BitmapRegionDecoder decoder = BitmapRegionDecoder.newInstance(myStream,
false);
Bitmap region = decoder.decodeRegion(new Rect(10, 10, 50, 50), null);简单 :)
我正在从画廊或相机加载图像,以便我可以编辑它。我已经使用EXIFInterface来管理位图的旋转。但在三星s8[Android 9]中,它为图像提供了90度旋转但图像原本是不旋转的。根据这个旋转,我把它旋转了90度,这是我不想要的。 我尝试过使用ContentResolver通过光标进行旋转,但它也有与EXIFInterface相同的问题。以下是我尝试解决问题的两种方法:
基本上,我有一个矩形位图,并希望创建一个新的正方形尺寸的位图,其中将包含其中的矩形位图。 因此,例如,如果源位图的宽度:100和高度:400,我想要一个宽度:400和高度:400的新位图。然后,绘制以这个新位图为中心的源位图(请参阅附加图像以更好地理解)。 我下面的代码很好地创建了方形位图,但没有将源位图绘制到其中。结果,我留下了一个完全黑色的位图。 这是代码: 知道我哪里做错了吗?
问题内容: 我正在为Android编写一个小相框应用程序,它使用opengl作为部分UI。这部分需要从flickr获取图像并将其加载到纹理中。我下面的代码大多数时候都可以使用,但是在从连接获取输入流和对流进行位图解码的位之间,它具有Thread.sleep()缺点: 我如何使用sleep()方法来支持具有逻辑意义的内容? 我正在不在模拟器中的三星银河标签上进行测试 问题答案: 这似乎不太理想,但是
问题内容: 我需要以简单的Java独立应用程序从Web加载图像。有任何想法吗? 问题答案: 这足以启动您吗?不知道您要从那里做什么。
从意图中获取选定图像的uri String[]filePathColumn={mediaStore.images.media.data}; mediastore.images.media.data是常数。我不明白为什么不用String代替String[] Cursor.MoveToFirst(); 移动到图库中的第一张图片。 int columnIndex=Cursor.GetColumnInde
本文向大家介绍Android 加载图像,包括了Android 加载图像的使用技巧和注意事项,需要的朋友参考一下 示例 影像检视 要将图像从指定的URL,Uri,资源ID或任何其他模型加载到ImageView: 对于Uris,请替换yourUrl为您的Uri(content://media/external/images/1)。对于可绘制对象,请替换yourUrl为您的资源ID(R.drawable