我正在创建一个也可以有一些图像的视觉效果。如果我使用普通(非透明)Png 图像,它的工作正常(在性能和打印方面)但是一旦我更换一个透明的 png,它就会变得非常慢,并且需要 3 倍以上的时间来打印视觉效果也是。我正在使用以下代码。
var source = new Uri(filePath, UriKind.RelativeOrAbsolute);
BitmapImage imageBitMap =new BitmapImage(source);
var pictureImage = new Image();
pictureImage.Source = imageBitMap;
grid.Children.Add(pictureImage);
我使用了 ANTS 性能分析器,这里是统计数据,
使用 4 个图形(非透明),每个图形大约为 (50 -100KB),每个图形的平均渲染时间为 10 毫秒。很快,我将其中一个替换为等效的透明图形,每个图形的平均时间猛增至 34 毫秒。
任何想法为什么透明图形需要这么长时间以及如何减少它。
我也尝试使用 Adobe Illustrator 和 InkSpace 将透明的 Pngs 转换为 xaml,但没有成功。Adobe Illustrator 插件将 png 转换为 1KB xaml 文件,其中包含一个带有视图框的空画布。InkSpace 正在将整个图像转换为 base64 字符串并将其设置为图像标记的源,但这根本不会显示在视觉对象中。