我有一些路径定义,我想转换成DrawingImage资源,但我必须失去了一些东西。
即
我想利用这样的:
<Path Stroke="DarkGoldenRod" StrokeThickness="3"
Data="M 100,200 C 100,25 400,350 400,175 H 280" />
与这样的使用方法:
<DrawingImage x:Key='icon'>
<DrawingImage.Drawing>
<DrawingGroup>
<DrawingGroup.Children>
<GeometryDrawing ... />
. . .
</DrawingGroup.Children>
</DrawingGroup>
</DrawingImage.Drawing>
</DrawingImage>
有什么建议?
-dk
我挺不知道你想做什么?给托马斯的回答您的评论。
但是,Expression Design中可以有两种不同的方式WPF出口:
- 到资源字典其中艺术品变成DrawingBrush(ES),或
- 到帆布其中艺术品变成路径(S)和形状(或多个)。
该资源字典/ DrawingBrush的方法是非常相似,你的问题了,并且托马斯回答,用建议的答案。
我的建议是与Expression设计,设计图稿,然后保持。设计文件的保持,这样就可以导出到您所希望的任何格式......尤其是在稍后的时间点。
现在,我知道有很多艺术品被在Adobe Illustrator完成,然后使用表达式设计转换。 如果是这样的话,我会保持两个.AI文件和文件。设计,这样就可以随时重新修改您的作品和出口。
当然,这一切都是要解决这个问题,你不能导入XAML到Expression Design的问题(即它不支持往返的情况)。
有一件事我会提的是,有时不是那么容易,因为仅仅复制从Path.Data财产迷你路径语言到GeometryDrawing.Geometry财产......因为调整的情况(指那DrawingBrush(ES)通常设置为填充的地方,然后他们通常填充任何空间存在)。 因此,注意的!
这应该工作:
<DrawingImage x:Key='icon'>
<DrawingImage.Drawing>
<DrawingGroup>
<DrawingGroup.Children>
<GeometryDrawing Geometry="M 100,200 C 100,25 400,350 400,175 H 280">
<GeometryDrawing.Pen>
<Pen Thickness="3" Brush="DarkGoldenRod"/>
</GeometryDrawing.Pen>
</GeometryDrawing>
</DrawingGroup.Children>
</DrawingGroup>
</DrawingImage.Drawing>
</DrawingImage>