我正在尝试将一些代码从常规 Java 程序移植到 Android 平台。不幸的是,该程序的一个重要部分涉及处理图像,而 Java 的 AWT 被我拿走了。我正在尝试将 awt.BufferedImage
替换为 Bitmap
,并希望这两个类之间的唯一区别是它们的接口(interface)。我阅读了一些文档,看起来确实如此,但是在将所有图像内容包装到一个漂亮的小类中并在我的开发机器和实际手机上测试几乎相同的代码之后,一个程序可以运行并且另一个没有。所以:
颜色编码不会改变 - 对吗?它仍然是 0xAARRGGBB
- 对吧?
图像本身并没有改变——对吧?当我将图像放入 res/drawable
时,它是完全相同的图像。最值得注意的是,它们不会以任何方式改变分辨率 - 对吗?
访问像素本质上是一样的——对吧?我基本上用 get/setPixel(x,y,color)
替换了我所有的 get/setRGB(x,y,RGB)
。索引到网格的方法没有变化 - 是吗?
最佳答案
已解决:打开图像时,我未能创建 BitmapFactory.Options()
并将 inDither
设置为 false。 BitmapFactory
未能生成精确的副本,因此对生成的 Bitmap
进行了一些更改,以使其更适合显示。
关于android - 位图和 BufferedImages 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3301121/