我正在创建一个可以有一些图像的视觉效果。如果我使用普通(非透明)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 Performance Profiler,这里是统计数据,
使用4个图形(非透明),每个大约(50 -100KB)渲染它们的平均时间为每个图形10ms。 很快我用等效的透明图形替换其中一个,平均时间会上升,每个图形上升到34毫秒。
任何想法为什么透明图形需要很长时间,以及如何减少它。
我尝试使用Adobe Illustrator和InkSpace将透明Png转换为xaml,但没有成功。 Adobe Illustrator插件将png转换为1KB xaml文件,其中包含一个带有viewbox的空白画布。 InkSpace正在将整个图像转换为base64字符串并将其设置为Image标记的源,但它根本不显示在视觉中。