gpt4 book ai didi

java - 如何在 Java 中使透明 SVG 透明?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:15:38 28 4
gpt4 key购买 nike

我有一个 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/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com