如何将带有TYPE_INT_ARGB的BufferedImage保存到jpg?
程序生成我的图像:
它没关系,但是当我以这种方式保存它时:
ByteArrayOutputStream byteStream = new ByteArrayOutputStream();
BufferedOutputStream bos = new BufferedOutputStream(byteStream);
try {
ImageIO.write(buffImg, "jpg", bos);
// argb
byteStream.flush();
byte[] newImage = byteStream.toByteArray();
OutputStream out = new BufferedOutputStream(new FileOutputStream("D:\\test.jpg"));
out.write(newImage);
out.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
结果是:
了解这是由于alpha层,但不知道如何解决它. Png格式不适合我,需要jpg.