Skip to content

SVG images containing image/png;base64 data fail to open #14

Open
@imagejan

Description

@imagejan

Some SVG images, such as this collection of ImageJ logos committed by @elevans, fail to open in Fiji and generate the following error:

org.apache.batik.bridge.BridgeException: file:/Users/eglinger/Downloads/logos/image_logo_src.svg:2,574
The URI "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAABHNCSVQICAgIfAhkiAAAAjhJREFU eJzt3cFRhEAQQNHG8mJImoRZGJRZmISG5BFPlLhVIrKzzHT//+7quP0ZZFnKaZ7nOYR113sB6ssA 4AwAzgDgDADOAOAMAM4A4AwA7r73Ao74fH88/LUPTx8NV5KfOwCcAcAZAJwBwBkAnAHAGQCcAcAZ AJwBwBkAnAHAGQCcAcAZAJwBwBkAnAHAGQBcys8EtjBN081/RoYHr90B4AwAzgDgDADOAOAMAM4A 4AwAzgDgDADOAOAMAM4A4AwADns7eO+t2jNuG/fkDgBnAHAGAGcAcAYAZwBwBgBnAHAGAGcAcAYA ZwBwBgBnAHAGAGcAcAYAN/nv47dd84mgDC+tOwCcAcAZAJwBwBkAnAHAGQDcsE8Gvb2c/0TO8+v4 1+2tuQPA+U7gH6q/EzjsKWBL9aGcyVMAHC6A/+we1R8NjwAGoJ+QAew5sglHf0Tiq4BWA7r89W/1 fUeV8iqgJcqR/hvkKUDf0gYw8hY78toupQ1AbaQOYMQjbcQ1bUkdgK6XPoCRjriR1rJX+gAixnjh R1jDESUCiOg7gKzDjygUQESfQWQefkSxACLOHUj24UcUDCDinMFUGH5E4XsBy4Bav9dfZfCLsgEs WoVQbfCL8gEs1gPcG0PVoa9hAlgjDHavkn8Eaj8DgDMAOAOAMwA4A4AzADgDgDMAOAOAMwA4A4Az ADgDgDMAOAOAMwA4A4AzADgDgDMAOAOAMwA4A4AzADgDgDMAOAOAMwA4A4AzADgDgPsCiHBw1Cor 9iYAAAAASUVORK5CYII= "
on element <image> can't be opened because:
URL data in unsupported format or corrupt
	at org.apache.batik.bridge.UserAgentAdapter.getBrokenLinkDocument(UserAgentAdapter.java:448)
	at org.apache.batik.bridge.SVGImageElementBridge.createRasterImageNode(SVGImageElementBridge.java:641)
	at org.apache.batik.bridge.SVGImageElementBridge.createImageGraphicsNode(SVGImageElementBridge.java:339)
	at org.apache.batik.bridge.SVGImageElementBridge.buildImageGraphicsNode(SVGImageElementBridge.java:179)
	at org.apache.batik.bridge.SVGImageElementBridge.createGraphicsNode(SVGImageElementBridge.java:121)
	at org.apache.batik.bridge.GVTBuilder.buildGraphicsNode(GVTBuilder.java:213)
	at org.apache.batik.bridge.GVTBuilder.buildComposite(GVTBuilder.java:171)
	at org.apache.batik.bridge.GVTBuilder.buildGraphicsNode(GVTBuilder.java:219)
	at org.apache.batik.bridge.GVTBuilder.buildComposite(GVTBuilder.java:171)
	at org.apache.batik.bridge.GVTBuilder.build(GVTBuilder.java:82)
	at sc.fiji.io.SVG_Reader.run(SVG_Reader.java:53)
	at ij.IJ.runUserPlugIn(IJ.java:230)
	at ij.IJ.runPlugIn(IJ.java:193)
	at ij.IJ.runPlugIn(IJ.java:182)
	at HandleExtraFileTypes.tryPlugIn(HandleExtraFileTypes.java:525)
	at HandleExtraFileTypes.tryOpen(HandleExtraFileTypes.java:366)
	at HandleExtraFileTypes.openImage(HandleExtraFileTypes.java:485)
	at HandleExtraFileTypes.run(HandleExtraFileTypes.java:72)
	at ij.IJ.runUserPlugIn(IJ.java:230)
	at ij.IJ.runPlugIn(IJ.java:193)
	at ij.IJ.runPlugIn(IJ.java:182)
	at ij.io.Opener.openWithHandleExtraFileTypes(Opener.java:516)
	at ij.io.Opener.openImage(Opener.java:370)
	at ij.io.Opener.openImage(Opener.java:242)
	at ij.io.Opener.open(Opener.java:109)
	at ij.io.Opener.openAndAddToRecent(Opener.java:291)
	at ij.plugin.DragAndDrop.openFile(DragAndDrop.java:192)
	at ij.plugin.DragAndDrop.run(DragAndDrop.java:159)
	at java.lang.Thread.run(Thread.java:748)

This might be solved by updating to the latest batik version, but I didn't have a chance to test this yet.

I found this related discussion in a quick search:

https://issues.apache.org/jira/browse/BATIK-1125

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions