我正在开发一个可以对存储在手机中的图像进行 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;
}