【问题标题】:read bitmap pixel color in both java and android?在java和android中读取位图像素颜色?
【发布时间】:2013-10-15 02:19:53
【问题描述】:

我正在尝试在 android 应用程序中读取位图像素值。本项目使用GDX 框架,可与java一起使用。

我试过android.graphics.Bitmap import 它在java中不存在然后因为整个代码在java项目中这是不可能的。

然后我尝试使用BufferedImage但它不被android支持,我也不知道该怎么做。

【问题讨论】:

  • 您对 Android、Java 和 SDK 感到困惑。 android.graphics.bitmap 或任何其他类在 Java 中不“存在”。您可以访问哪些类仅取决于您的应用使用的 SDK 版本。无论您使用什么 SDK,Java 都是 Java。您遇到的问题是 Android 不支持 BufferedImage 。 stackoverflow.com/questions/5311163/…

标签: java android libgdx


【解决方案1】:

在 Libgdx 中,Pixmap 用于表示“CPU 内存中”纹理。 (与代表“GPU 内存中”纹理的 Texture 对象相反。)您只能为 CPU 内存中的纹理数据操作像素。

Libgdx 支持从 JPG、PNG 和/或 BMP 编码文件加载 Pixmap 对象。加载后,您可以使用getPixel 方法对像素值进行处理。

要实际显示像素图,您必须将位图数据上传到 GPU。在 Libgdx 中,这意味着从 Pixmap 创建一个 Texture

【讨论】:

  • 谢谢,我没有找到将图像文件打开到像素图的函数,现在可以了: FileHandle file=Gdx.files.internal("data/myfile.png") ; byte[] 字节 = file.readBytes(); Gdx2DPixmap pixmap=null; pixmap = new Gdx2DPixmap(bytes, 0, bytes.length, 0);
猜你喜欢
  • 2010-10-10
  • 1970-01-01
  • 2013-05-07
  • 1970-01-01
  • 2013-03-18
  • 2012-06-07
  • 1970-01-01
  • 2012-04-15
  • 1970-01-01
相关资源
最近更新 更多