Я попытался преобразовать необработанные данные ByteArray в формат JPEG с помощью JPEGEncoder, но он слишком медленный для мобильных устройств (я тестировал его на мобильных устройствах). Как я могу сделать то же самое в java? Я отправлю байт необработанных данных в java и закодирую его в JPEG с помощью java - я пробовал некоторые из них как JpegImageEncoder под com.sun. *, но он устарел в jdk7. Как я могу сделать это в java или какие-либо предложения от мобильных разработчиков Flex, которые сделали это?
ОБНОВЛЕНИЕ: я пробовал следующий код, но получаю странный результат:
public void rawToJpeg(byte[] rawBytes, int width, int height, File outputFile){
try{
BufferedImage bi = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);
int count = 0;
for(int h=0;h<height;h++){
for(int w=0;w<width;w++){
bi.setRGB(w, h, rawBytes[count++]);
}
}
Graphics2D ig2 = bi.createGraphics();
Iterator imageWriters = ImageIO.getImageWritersByFormatName("jpeg");
ImageWriter imageWriter = (ImageWriter) imageWriters.next();
ImageOutputStream ios = ImageIO.createImageOutputStream(outputFile);
imageWriter.setOutput(ios);
imageWriter.write(bi);
}catch(Exception ex){
ex.printStackTrace();
}
}
РЕЗУЛЬТАТ:
P.S. Кстати, это должно быть мое фото :)