Java8 Imageio不支持WebP图像格式

发布于 2025-01-26 12:42:34 字数 888 浏览 3 评论 0原文

我需要从WebP映像开始创建缩略图,但是ImageIO不支持此格式。有没有库可以让我做这样的事情?


String format = getImageFormat(imageFile);
Iterator readers = ImageIO.getImageReadersByFormatName(format);
// rescaling the image 
BufferedImage bi = loadImageRescalingIfNeeded(imageFile, metadata,...);
//resample if needed
bi = resampleImageIfNeeded(bi, thumbWidth, thumbHeight);
// rotate if degree > 0
bi = rotateBufferedImage(bi, degree);
// create jpeg in output
try (ImageOutputStream imageOut = ImageIO.createImageOutputStream(fileOutputStream)){
  try {
    ImageWriter writer = ImageIO.getImageWritersBySuffix("jpeg").next();
                     
    ImageWriteParam iwp = writer.getDefaultWriteParam();
    iwp.setProgressiveMode(ImageWriteParam.MODE_DEFAULT);
    writer.setOutput(imageOut);
    writer.write(null, new IIOImage(bi, null, metadata), iwp);
  } catch (Exception e) {...}
....}

I need to create thumbnail starting from a WebP image but ImageIO doesn't support this format. Are there any library that allow me to do something like this ?


String format = getImageFormat(imageFile);
Iterator readers = ImageIO.getImageReadersByFormatName(format);
// rescaling the image 
BufferedImage bi = loadImageRescalingIfNeeded(imageFile, metadata,...);
//resample if needed
bi = resampleImageIfNeeded(bi, thumbWidth, thumbHeight);
// rotate if degree > 0
bi = rotateBufferedImage(bi, degree);
// create jpeg in output
try (ImageOutputStream imageOut = ImageIO.createImageOutputStream(fileOutputStream)){
  try {
    ImageWriter writer = ImageIO.getImageWritersBySuffix("jpeg").next();
                     
    ImageWriteParam iwp = writer.getDefaultWriteParam();
    iwp.setProgressiveMode(ImageWriteParam.MODE_DEFAULT);
    writer.setOutput(imageOut);
    writer.write(null, new IIOImage(bi, null, metadata), iwp);
  } catch (Exception e) {...}
....}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文