KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I tried to convert raw data ByteArray to JPEG format using JPEGEncoder but its too slow in mobile (I've tested it on mobile). How can I do the same thing in java? I will send raw data byte to java and encode it to JPEG with java - I tried some of them as JpegImageEncoder under com.sun.* but it's depreciated in jdk7. How can I do this in java Or any suggestions from Flex mobile developers who have done such thing? UPDATE: I tried the following code but I'm getting a strange result: 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(); } } RESULT: P.S It should be my photo btw :)
Tags (comma-separated)
Save Edits
Cancel