2012-12-21 44 views
0

我有一個PNG文件,並試圖將其轉換爲jpeg。但是由此產生的圖像顏色錯誤,有很大的粉色區域。這是我的代碼:如何將PNG轉換爲grails/java中的jpeg

 BufferedImage image = null 
     BufferedImage imageRGB = null 

     image = ImageIO.read(new ByteArrayInputStream(imageBytesPng)) 

     imageRGB = new BufferedImage(image.getWidth(), image.getHeight(), BufferedImage.TYPE_INT_RGB) 

     imageRGB.setData(image.getData()) 

     ByteArrayOutputStream baos=new ByteArrayOutputStream() 

     ImageIO.write(imageRGB, "jpeg", baos) 
     baos.flush() 
     def outImage = baos.toByteArray() 
     baos.close() 
     return outImage 

什麼可以改變,使圖像的顏色apear在png文件中?

+0

將圖像上傳到圖像共享網站和鏈接。它是否使用透明度?爲什麼要將它從PNG轉換爲JPG? –

+0

我發現了一個非常簡單的解決方案。參見以下文章: http://stackoverflow.com/questions/9555917/java-png-to-jpg-bug – confile

回答

0

嘗試所有這一切最好的..

import javax.media.jai.*; 
public class jai_png_jpg 
{ 
    public static void main(String[] args)throws Exception 
    { 
    String filename="input_png.png"; 
    //Read input PNG as a PlanarImage file 
    PlanarImage inputfile = JAI.create("fileload", filename); 
    //write output in JPG Format 
    JAI.create("filestore",inputfile,"jai_jpg_output.jpg","JPEG"); } } 
1
InputStream pngInputStream = ... 
OutputStream jpgOutputStream = ... 

BufferedImage image = ImageIO.read(pngInputStream)); 
ImageIO.write(image, "jpeg", jpgOutputStream); 
相關問題