首页 > 解决方案 > SVG 转换的奇怪透明度问题

问题描述

我正在尝试将 SVG 图像转换为 jpeg 或 png(质量无关紧要)

我正在使用一个名为SVG的 NuGet 包。

这是我的vb代码

Dim svgDocument = Svg.SvgDocument.Open(TextBox2.Text & "\" & filename & ".svg")    ' Replace with correct FileName                                      
                Dim bmp As Bitmap = svgDocument.Draw(100, 100)                            ' Draw Bitmap in any Size you need - for example 12px x 12px                  
                bmp.Save(TextBox2.Text & "\" & "jpeg" & "\" & filename & ".jpeg", ImageFormat.Jpeg)                 ' save Bitmap as PNG-File

出错的地方是:文本的背景变黑了。当我在浏览器中查看它们时,情况并非如此。

已删除

这是SVG的原始文件

[已删除][3]

我不确定到底出了什么问题,谢谢您的时间。

标签: vb.netsvgtype-conversionsvg-transformssvgtopng

解决方案


您的 SVG充满了image带有 base64 编码的 PNG 的元素:

如果您粘贴这些:

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQ4AAACVCAIAAAAmBYPGAAAABmJLR0QA/wD/AP+gvaeTAAAAjElEQVR4nO3BMQEAAADCoPVPbQo/oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK4G2BYAAb1+fN8AAAAASUVORK5CYII=

进入:https ://base64.guru/converter/decode/image

您可以看到它的黑色图像:

请参阅 F12 网络选项卡:

看起来所有文字都是黑色背景的图像


推荐阅读