我有一个 SVG 文件,它实际上是空的,还没有任何元素。我将通过添加元素在 Java 代码中对其进行操作。 SVG 文件将插入到滚动 Pane 中。问题是甚至 SVG 文件实际上是空的,即使我已经将它设置为透明,Scrollpane 也不透明。
这是 SVG 文件(我从客户那里得到的):
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948) -->
<svg version="1.1"
baseProfile="full"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:ev="http://www.w3.org/2001/xml-events">
id="chart"
width="1366px" height="768px" viewBox="0 0 1366 768" >
<defs>
<!-- some template here -->
</defs>
</svg>
这里是滚动 Pane 部分(canvasDiagram 是 SVGCanvas)。
// the instantiation part
canvasDiagram.setDocumentState(JSVGCanvas.ALWAYS_DYNAMIC);
canvasDiagram.setURI(getClass().getResource("path to svg file").toString());
scrollPane = new JScrollPane(canvasDiagram){
{
setOpaque(false);
getViewport().setOpaque(false);
}
};
滚动 Pane 不是透明的而是白色的。我尝试使用透明的 jPanel 及其工作插入滚动 Pane 内容,所以我相信白色内容是因为 canvasDiagram。你能帮我让 canvasDiagram 的空白部分真正透明吗?
最佳答案
我发现用 alpha 值设置背景比设置 isOpaque(false)
setBackground(new Color(0,0,0,0));
关于java - 如何在 Java 中使透明 SVG 透明?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7238764/