Tôi đang phát triển một ứng dụng Android có thể thực hiện chỉnh sửa Gamma của hình ảnh được lưu trữ trong điện thoại. Hoạt động của tôi có thể lấy vị trí hình ảnh, nhưng tôi không thể sử dụng lớp BufferedImage
và lớp ImageIO
trong Đơn đăng ký của tôi.Sử dụng các lớp BufferedImage và ImageIO trong Hoạt động Android của tôi
tôi nhận được lỗi sau trong Eclipse IDE với plugin ADT ..
ImageIO cannot be Resolved
BufferedImage cannot be Resolved
tôi không thể xử lý hình ảnh. Tôi có ý tưởng bao gồm các thư viện java nhưng tôi không biết cách thực hiện điều này trong Android
Đây là chức năng tôi cần để làm cho nó hoạt động.
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;
}
Tôi có thể sử dụng getRGB(), getAlpha(), getWidth(), phương pháp với Bitmap getType(). – humandroid
có, bạn có thể thực hiện mọi thao tác trên bitmap ngay cả khi bạn có thể nhận giá trịRGB trong bitmap. http://stackoverflow.com/questions/5669501/how-to-get-rgb-values-of-bitmap-in-android – urveshpatel50
Tôi đã chỉnh sửa câu hỏi của mình. Đã thêm một hàm bằng BufferedImage. Tôi cần thay đổi nó thành Bitmap và xin lưu ý rằng tôi cần ImageIO cho ImageIO.read(); và ImageIO.write(); – humandroid