Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在WPF中,使用图像作为图标或XAML路径哪个更好?为什么?_Wpf_Image_Vector Graphics - Fatal编程技术网

在WPF中,使用图像作为图标或XAML路径哪个更好?为什么?

在WPF中,使用图像作为图标或XAML路径哪个更好?为什么?,wpf,image,vector-graphics,Wpf,Image,Vector Graphics,目前我正致力于将我们公司的ERP系统升级到一个新的主要版本,目前我正在使用WPF为前端UI奠定基础,现在我想知道是使用Image元素还是XAMLPath对象(矢量图形)作为解决方案图标(即添加、删除、保存、复制、搜索等按钮图标)。根据您的经验,哪一个更好,为什么更好?这取决于您计划显示的图像的范围。如果有少量图像将显示数千次,则XAML路径是有意义的。如果它们只是少数几张图像显示几次,XAML路径将花费比其价值更多的时间。类似地,如果您有数千个图像,每个图像只显示一次,请使用图像,因为转换为XA

目前我正致力于将我们公司的ERP系统升级到一个新的主要版本,目前我正在使用WPF为前端UI奠定基础,现在我想知道是使用
Image
元素还是XAML
Path
对象(矢量图形)作为解决方案图标(即添加、删除、保存、复制、搜索等按钮图标)。根据您的经验,哪一个更好,为什么更好?

这取决于您计划显示的图像的范围。如果有少量图像将显示数千次,则XAML路径是有意义的。如果它们只是少数几张图像显示几次,XAML路径将花费比其价值更多的时间。类似地,如果您有数千个图像,每个图像只显示一次,请使用图像,因为转换为XAML路径需要花费很长时间(除非您有方法以编程方式进行)


这听起来像是你在使用少量的图像,所以还是用图像吧。这并不需要太多的处理能力,WPF的最大好处是它将图形渲染的东西卸载到GPU上,而不是使用CPU来完成。我同意CodeWarrior,但我认为这里面有很多因素委员会的决定,包括:

  • 谁在制作这些图像?你?如果是的话,你的设计天赋如何?我知道,就我个人而言,我不希望制作出好看的位图图标,但我能够在XAML中制作出相当有吸引力的图标
  • 您是否需要以不同的大小显示图标?如果需要,XAML可以再次为您节省大量时间,因为它的伸缩性要高得多
  • 您是否需要以非常小的分辨率显示图标?如果需要,XAML图标实际上可能看起来不太吸引人
  • 如果您需要组合图像,或者微妙地改变图像,例如更改其厚度、颜色,或者在禁用图像时将其“灰显”,XAML图标将为您提供更大的灵活性
  • 最后,没有什么能阻止你做到两全其美。在我的应用程序中,我知道我在很多地方都需要主图标。我用XAML设计了它,然后编写了一个小的支持应用程序,它以各种大小的位图的形式显示出来。这使得它很容易用作我的应用程序图标,并且在每个必要的地方看起来都很清晰ze(例如,作为桌面图标、窗口图标等)。此外,我在应用程序本身中将其用作XAML资源,例如在启动屏幕中

你在展示什么?你知道如何以编程方式绘制吗?@RitchMelton,我说的是图标(即添加、删除、保存、复制、搜索按钮图标)。我更新了这个问题。实际上会有上百个表单,每个表单都有一组图标,有些重叠。总共有多少个图标?如果超过,比如说,50个,而你没有时间让设计师来制作,那么就和评分员一起去做。如果它们很小,并且不会一次显示一堆图标,你就可以了。我曾经有过这样的例子,列表项上有光栅图像,表示一个运输公司(有5个不同的图像),显示了可能1000次,没有任何问题……实际上我有500多个图像:)是的,这是有意义的,这两个世界中最好的:D