C# WPF图像。源和透明图形
我正在创建一个可以有一些图像的视觉效果。如果我使用普通的非透明Png图像,它在性能和打印方面工作得很好,但是一旦我更换了一个透明Png,它就会变得非常慢,并且在打印视觉效果时也会花费3倍多的时间。 我正在使用以下代码C# WPF图像。源和透明图形,c#,wpf,image,bitmapimage,C#,Wpf,Image,Bitmapimage,我正在创建一个可以有一些图像的视觉效果。如果我使用普通的非透明Png图像,它在性能和打印方面工作得很好,但是一旦我更换了一个透明Png,它就会变得非常慢,并且在打印视觉效果时也会花费3倍多的时间。 我正在使用以下代码 var source = new Uri(filePath, UriKind.RelativeOrAbsolute); BitmapImage imageBitMap =new BitmapImage(source); var pictureImage
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个非Transparent图形(每个大约50-100KB),每个图形的平均渲染时间为10ms。
很快,我用等效的透明图形替换其中一个,每个图形的平均时间迅速上升,上升到34毫秒
你知道为什么透明图形需要这么长时间吗?我该如何减少它
我尝试使用Adobe Illustrator和InkSpace将TranPang转换为xaml,但没有成功。
Adobe Illustrator插件将png转换为1KB xaml文件,其中包含一个带有viewbox的空画布。
InkSpace正在将整个图像转换为base64字符串,并将其设置为图像标记的源,但这根本不会显示在视觉中