Imageloader.save到ByteArrayOutputStream非常缓慢

时间:2011-02-03 18:48:44

标签: java image-processing compression swt image-compression

有没有加速SWT的imageLoader.save() - 方法?我必须将raw imagedata压缩成JPEG。压缩1680 x 1050像素的大图像需要130到250毫秒 我只是imageLoader.save(bos, SWT.IMAGE_JPEG);的基准测试 - 我错过了什么吗? - 是否有另一种更快速的方法来压缩大字节数组/图像?

任何帮助将不胜感激

1 个答案:

答案 0 :(得分:2)

您是否使用默认构造函数初始化ByteArrayOutputStream?内部缓冲区的默认大小仅为1024字节,因此每次超过其大小时,对象都会不断添加新缓冲区。您应该能够对图像大小提出一些基本的上限并将BAOS初始化为该值。这可能会减少您遇到的一些等待时间。