我对XAML和Blend有点问题。我们已经从AI -> SVG -> XAML
转换了公司徽标,清理了一下它产生了一个非常奇特的来源。从本质上讲,它正在应用"翻转"转换为路径集合:
<Canvas Width="640" Height="200" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Canvas Width="640" Height="200" RenderTransform="1,0,0,-1,0,200" >
<!-- L -->
<Canvas RenderTransform="1,0,0,1,317.0645,64.3652">
<Path>
<Path.Data>
<PathGeometry FillRule="Nonzero" Figures="M0,0L0,75.065 18.743,76.83 18.743,17.066 43.553,17.066 38.564,0 0,0z" />
</Path.Data>
</Path>
</Canvas>
... etc
请注意封闭RenderTransform="1,0,0,-1,0,200"
中的Canvas
节点。它将画布颠倒翻转并将其降低200以调整到根画布位置。鉴于taht Logo在渲染时看起来没问题意味着xaml中的所有图形元素实际上都是颠倒的:)。也许它是人工智能的东西,我不知道。
问题是我现在使用Blend将此画布转换为GraphicBrush。混合省略了变换,并且在应用画笔时徽标向下看。而不是再次转换每个画笔接收者,我在想,也许我们应该在根处修复它,例如转换所有路径,以便它们正确呈现,从而避免需要根变换。
问题:是否有程序化(或任何其他方式)来执行此操作?这意味着,我可以渲染这个画布,然后将渲染(在应用所有变换后)DOM序列化为XAML吗?
或者使问题更清楚:每个路径都有两个变换(如上所示,每个路径有一个全局翻转和一个局部移位),我可以某种方式将这些变换应用于每个路径/其点以便路径没有他们的渲染。
答案 0 :(得分:1)
您可以使用Microsoft Expression套件中 Expression Design 内置的导出到XAML功能。
或者我个人通常使用Mike Swanson的AI to XAML converter,因为我通常已经在Illustrator中使用更复杂的矢量图形。
两者都会提供比您使用的转换器更好的结果。不知道原始转换在RenderTransforms等处变得如此古怪,但正如你所发现的那样,有一个良好的转换开始,然后经历修复坏的哈哈的麻烦。
干杯!