在 Java 中使用 ImageIO 将 CGM 转换为 PNG

问题描述 投票:0回答:0

我有类似的代码:

public File convertCGMtoPNG(File cgmFile, File directoryToCreatePNG, 
                            String nameSuffix)  throws IOException 
{       
    File pngFile = new File(directoryToCreatePNG.getAbsolutePath() + 
                            File.separator +                         
        cgmFile.getName().substring(0,cgmFile.getName().lastIndexOf(".cgm")) +
                    "_" + nameSuffix + ".png");         
    BufferedImage image = ImageIO.read(cgmFile);
        ImageIO.write(image, "PNG", pngFile);
        return pngFile;
}

我看到大家都在说用jcgm库。所以,我在类路径中添加了 jcgm-core。但它仍然不起作用。图像每次都是空的。我的 cgm 肯定是有效的 cgm。

我之前曾尝试使用 aspose 将 cgm 转换为 tiff,并且使用相同的 cgm。有人可以帮忙解决这个问题吗?

我遇到了类似的异常。

java.lang.IllegalArgumentException: image == null! at java.desktop/javax.imageio.ImageTypeSpecifier.createFromRenderedImage(ImageTypeSpecifier.java:925)
    at java.desktop/javax.imageio.ImageIO.getWriter(ImageIO.java:1608)
    at java.desktop/javax.imageio.ImageIO.write(ImageIO.java:1540)

当我调试时,我看到该图像为空。我希望在输出位置将输入的 cgm 转换为 png。

java png javax.imageio cgm
© www.soinside.com 2019 - 2024. All rights reserved.