Sto sviluppando un'applicazione Android che può eseguire la correzione Gamma di un'immagine memorizzata nel telefono. La mia attività può ottenere la posizione dell'immagine, ma non posso usare la classe BufferedImage
e la classe ImageIO
nella mia Applicazione.Uso delle classi BufferedImage e ImageIO nella mia attività Android
ottengo il seguente errore in Eclipse IDE con plugin ADT ..
ImageIO cannot be Resolved
BufferedImage cannot be Resolved
non riesco a elaborare l'immagine. Ho un'idea di includere le librerie java ma non so come farlo in Android
Ecco la funzione che ho bisogno per farlo funzionare.
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;
}
Posso usare getRGB(), getAlpha(), getWidth(), getType() metodi con bitmap. – humandroid
sì, è possibile eseguire tutte le operazioni su bitmap anche se è possibile ottenere il valore RGB in bitmap. http://stackoverflow.com/questions/5669501/how-to-get-rgb-values-of-bitmap-in-android – urveshpatel50
Ho modificato la mia domanda. Aggiunta una funzione usando BufferedImage. Ho bisogno di cambiarlo in Bitmap e Nota che ho bisogno di ImageIO per ImageIO.read(); metodo e ImageIO.write(); – humandroid