首先感谢你的时间。我有一个jar库,它将作为库包含在我的Android应用程序中。
除其他外,这个jar能够从jpg图像中获取RGB值。这在我的java应用程序中运行得很好但是当我在我的Android应用程序中运行它时它不起作用,因为类ImageIO.read(File file)
(Bufferedimage)没有在Android中实现。
我读了一些关于使用Bitmap类的内容,但我没有发现任何相关内容。
你能帮我解决一下你在下面找到的方法吗?
public static int[][][] getImageRgb(BufferedImage image) {
int width = image.getWidth();
int height = image.getHeight();
int[][][] rgb = new int[height][width][3];
for (int i = 0; i < height; i++) {
for (int j = 0; j < width; j++) {
int pixel = image.getRGB(j, i);
rgb[i][j] = getPixelRgb(pixel); }
}
return rgb;
}
getPixelRgb是一个函数的目标:
public static int[] getPixelRgb(int pixel) {
// int alpha = (pixel >> 24) & 0xff;
int red = (pixel >> 16) & 0xff;
int green = (pixel >> 8) & 0xff;
int blue = (pixel) & 0xff;
return new int[]{red, green, blue};
}
我真的不知道如何为Android转换这种方法。
我期待着您的回复。 非常感谢。
答案 0 :(得分:1)
您需要的是官方docs:
int getPixel(int x,int y)
返回指定位置的颜色。
您可以从res / drawable文件夹中的资源创建位图,或者如果您要下载图像,则需要先将其保存到设备存储中。