में BufferedImage और ImageIO कक्षाओं का उपयोग करके मैं एक एंड्रॉइड ऐप विकसित कर रहा हूं जो फोन में संग्रहीत छवि का गामा सुधार कर सकता है। मेरी गतिविधि छवि स्थान प्राप्त कर सकती है, लेकिन मैं अपने आवेदन में BufferedImage
कक्षा और ImageIO
कक्षा का उपयोग नहीं कर सकता।मेरी एंड्रॉइड गतिविधि
मैं एडीटी प्लगइन के साथ ग्रहण आईडीई में निम्न त्रुटि प्राप्त ..
ImageIO cannot be Resolved
BufferedImage cannot be Resolved
मैं छवि को संसाधित नहीं कर सकते हैं। मुझे जावा पुस्तकालयों को शामिल करने का एक विचार है, लेकिन मुझे नहीं पता कि एंड्रॉइड
में यह कैसे करना है, यह कार्य है जिसे मुझे इसे काम करने की आवश्यकता है।
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;
}
मैं उपयोग कर सकते हैं getRGB(), getAlpha(), getWidth(), GetType() बिटमैप साथ तरीकों। – humandroid
हाँ आप बिटमैप पर सभी ऑपरेशन कर सकते हैं भले ही आप बिटमैप में आरजीबी मान प्राप्त कर सकें। http://stackoverflow.com/questions/5669501/how-to-get-rgb-values-of-bitmap-in-android – urveshpatel50
मैंने अपना प्रश्न संपादित किया है। BufferedImage का उपयोग कर एक समारोह जोड़ा गया। मुझे इसे बिटमैप में बदलने की जरूरत है और कृपया ध्यान दें कि मुझे ImageIO.read() के लिए ImageIO की आवश्यकता है; विधि और ImageIO.write(); – humandroid