Ответ 1
Android не является стандартным java, ему не хватает определенных классов. AWT просто не существует
Я разрабатываю приложение для Android, которое может выполнять гамма-коррекцию изображения, хранящегося в телефоне. Моя активность может получить местоположение изображения, но я не могу использовать класс BufferedImage
class и ImageIO
в своем приложении.
Я получаю следующую ошибку в Eclipse IDE с плагином ADT..
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;
}
Android не является стандартным java, ему не хватает определенных классов. AWT просто не существует
Я думаю, что несколько библиотек Java не находятся на Android, таких как awt
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);
чем указано в изображениях, подобных описанным выше, для цикла. потому что андроид не обеспечивает класс BufferedImage
Попробуйте BitmapFactory или Bitmap
http://developer.android.com/reference/android/graphics/BitmapFactory.html http://developer.android.com/reference/android/graphics/Bitmap.html