Plugin - Export diagram as SVG - Error message "Invalid Image variant"

Hello,

I’m writing a plugin that exports a diagram as SVG format.
I get this exception:

Caused by: java.lang.IllegalArgumentException: Invalid Image variant
	at java.desktop/sun.awt.image.SurfaceManager.getManager(SurfaceManager.java:82)
	at java.desktop/sun.java2d.SurfaceData.getSourceSurfaceData(SurfaceData.java:218)
	at java.desktop/sun.java2d.pipe.DrawImage.renderImageCopy(DrawImage.java:572)
	at java.desktop/sun.java2d.pipe.DrawImage.copyImage(DrawImage.java:67)
	at java.desktop/sun.java2d.pipe.DrawImage.copyImage(DrawImage.java:1027)
	at java.desktop/sun.java2d.pipe.ValidatePipe.copyImage(ValidatePipe.java:186)
	at java.desktop/sun.java2d.SunGraphics2D.drawImage(SunGraphics2D.java:3417)
	at java.desktop/sun.java2d.SunGraphics2D.drawImage(SunGraphics2D.java:3393)

The code is quite simple:

IDiagramUIModel diagram = ApplicationManager.instance().getDiagramManager().getActiveDiagram();

ExportDiagramAsImageOption option = new 
ExportDiagramAsImageOption(ExportDiagramAsImageOption.IMAGE_TYPE_SVG);
        
Image image = ApplicationManager.instance().getModelConvertionManager().exportDiagramAsImage(diagram, option);

Do you have some code sample about that feature please ?

Thank you.
Stephane

Hi Stephane,

Thank you for your inquiry. Your code seems to be fine. I have forwarded your case to our engineers to review and will get back to you as soon as possible.

Best regards,
Jick Yeung

Hi Jick,

Thank you very much.
I did some additional tests and maybe I cannot use Java2d to create a buffered image for SVG:

            BufferedImage bufferedImage = new BufferedImage(image.getWidth(null), image.getHeight(null), BufferedImage.TYPE_INT_ARGB);
            bufferedImage.getGraphics().drawImage(image, 0, 0, null);

It seems that the second line raises the exception above.

Stephane

Hi Stephane,

Could you send me your log file for checking? You can export log file from the About window (Help > About). Then, please upload to:

https://files2.visual-paradigm.com/index.php/s/cCkt3C1OzvjNguE
Password: kjigfb56sdfj

Best regards,
Jick Yeung

Hi Jick,

I’ve just uploaded the log zip file + exception full stacktrace + Java code.

Thank you,
Stephane

Hi Stephane,

Many thanks. I have forwarded the files to our engineers to study. When there is any update, I will let you know.

Best regards,
Jick Yeung