更新时间:2023-02-14 21:32:06
我设法使其正常运行,完整代码如下.
I managed to get it working and the full code is as follows.
对reader.setInput(iis,true,true)的调用;是上一篇文章中我所缺少的魔术.
The call to reader.setInput(iis, true, true); is the magic which I was missing from the previous post.
FileInputStream fin = new FileInputStream(source);
ImageInputStream iis = ImageIO.createImageInputStream(fin);
Iterator iter = ImageIO.getImageReaders(iis);
if (!iter.hasNext()) {
return;
}
ImageReader reader = (ImageReader) iter.next();
ImageReadParam params = reader.getDefaultReadParam();
reader.setInput(iis, true, true);
params.setSourceSubsampling(width, height, 0, 0);
BufferedImage img = reader.read(0, params);
ImageIO.write(img, "JPG", destination);