azure - Azure 中的 Magick.NET 将 SVG 转换为 PNG 会产生黑框
问题描述
使用Magick.NET-Q16-AnyCPU
我正在使用这个最少的代码将 SVG 转换为 PNG:
var bytes = File.ReadAllBytes("test.svg");
var magickReadSettings = new MagickReadSettings { Format = MagickFormat.Svg };
using var image = new MagickImage(bytes, magickReadSettings) { Format = MagickFormat.Png };
image.Write("test.png");
在本地工作正常,PNG 看起来是正确的,有一个文本(预期):
但是当部署到 Azure 应用服务时,PNG 会出现黑框(实际):
SVG 文件如下所示(最小):
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"[]>
<svg width="100px" height="50px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xml="http://www.w3.org/XML/1998/namespace" version="1.1">
<g transform="translate(10, 10)">
<text transform="translate(50, 0)">foo</text>
</g>
</svg>
这个怎么可能?
解决方案
这是与应用服务上安装的字体相关的问题。在此处讨论的底部有对此问题和解决方案的讨论。
推荐阅读
- unity3d - 我可以存储子游戏对象的本地轴并在运行时将其转换为世界轴吗?
- amazon-web-services - 重复的 AWS EC2 自动扩展
- swift - SWIFT:从文本字段格式化为日期不起作用
- reactjs - Why are my GlobalStyles not working after deploying with styled components?
- php - 在codeigniter中打开模式时如何在文本框中填充数据
- mysql - Mysql 用另一个表中的数据更新
- python - Python Numpy 数组(坏)自动舍入
- c# - 将所有单元格从 datagridview 更新到数据库
- php - Laravel、GuzzleHttp 请求和 Cloud9 的问题
- c# - 如何在 C# 中将指针传递给字节数组的指针