我正在开发一款可以对存储在手机中的图像进行Gamma校正的Android应用程序。我的活动可以获取图片位置,但我无法在我的应用程序中使用BufferedImage
类和ImageIO
类。
我在带有ADT插件的Eclipse IDE中出现以下错误..
ImageIO cannot be Resolved
BufferedImage cannot be Resolved
我无法处理图像。我有一个想法,包括java库,但我不知道如何在Android
中做到这一点这是我需要的功能。
private static BufferedImage gammaCorrection(BufferedImage original, double gamma) {
int alpha, red, green, blue;
int newPixel;
double gamma_new = 1 / gamma;
int[] gamma_LUT = gamma_LUT(gamma_new);
BufferedImage gamma_cor = new BufferedImage(original.getWidth(), original.getHeight(), original.getType());
for(int i=0; i<original.getWidth(); i++) {
for(int j=0; j<original.getHeight(); j++) {
// Get pixels by R, G, B
alpha = new Color(original.getRGB(i, j)).getAlpha();
red = new Color(original.getRGB(i, j)).getRed();
green = new Color(original.getRGB(i, j)).getGreen();
blue = new Color(original.getRGB(i, j)).getBlue();
red = gamma_LUT[red];
green = gamma_LUT[green];
blue = gamma_LUT[blue];
// Return back to original format
newPixel = colorToRGB(alpha, red, green, blue);
// Write pixels into image
gamma_cor.setRGB(i, j, newPixel);
}
}
return gamma_cor;
}
答案 0 :(得分:4)
Android不是标准的java,它缺少某些类。 AWT就在那里
答案 1 :(得分:1)
我认为一些Java库不像Android那样在Android中
答案 2 :(得分:1)
String selectedImagePath;
ImageView img;
img = (ImageView)findViewById(R.id.ImageView1);
Bitmap yourSelectedImage = BitmapFactory.decodeFile(selectedImagePath);
img.setImageBitmap(yourSelectedImage);
如果多个图像比 你可以做
ArrayList<Bitmap> aList = new ArrayList<Bitmap> ();
aList.add(yourbitmap);
使用for循环在上面的imageview中设置。 因为android没有提供BufferedImage类
答案 3 :(得分:-1)