2014-09-16 2 views
0

Я хочу преобразовать BufferedImage в gif. Я уже конвертировал BufferedImage в jpeg с помощью функции, а выход был Byte [], поэтому я мог отправить его по inet с помощью подключения сокета.Как преобразовать BufferedImage в gif в java

мне нужен GIF закодировать функция похожа на эту функцию JPEG кодирования:

public static byte[] getImageAsJPEG(BufferedImage image) throws ImageFormatException, IOException { 
    ByteArrayOutputStream output = new ByteArrayOutputStream(); 

    JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(output); 
    JPEGEncodeParam param = encoder.getDefaultJPEGEncodeParam(image); 
    param.setQuality(0.9f, false); 
    encoder.setJPEGEncodeParam(param); 
    encoder.encode(image); 

    return output.toByteArray(); 
} 
+1

вы можете создать с помощью ImageIO, но обратите внимание, что существуют ограничения - см. http://docs.oracle.com/javase/7/docs/api/javax/imageio/package-summary.html – Leo

+0

также см. http : //stackoverflow.com/questions/592032/imageio-write-not-saving-out-as-gif-but-works-for-jpgs-and-pngs – Leo

ответ

2

Использование:

ImageIO.write(image, "GIF", output); 

Как и в:

public static byte[] getImageAsGIF(BufferedImage image) throws ImageFormatException, IOException { 
    ByteArrayOutputStream output = new ByteArrayOutputStream(); 

    ImageIO.write(image, "GIF", output); 

    return output.toByteArray(); 
} 
+0

Thx, что было проще, чем я думал: D –

Смежные вопросы