我對XAML和Blend有一些問題。我們已經將AI -> SVG -> XAML
的公司標誌轉換成了公司標誌,並對它進行了一些清理,併產生了一個非常特殊的來源。它在本質上是把一個「翻轉」轉型的路徑的集合:將變換應用到源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
注意,在封閉Canvas
的RenderTransform="1,0,0,-1,0,200"
節點。它顛倒畫布並將其向下降低200以適應根畫布位置。鑑於標誌看起來確定呈現意味着在xaml中的所有圖形元素實際上是顛倒的:)。也許它是一個人工智能的東西,我不知道。
問題是我現在使用Blend將此畫布轉換爲GraphicBrush。混合時省略了變換,並且在應用筆刷時,徽標看起來向上。而是在每個刷子接收者處再次進行轉換,我認爲也許我們應該在根上修復它,轉換所有路徑,以便它們正確渲染以避免需要根變換。
問題:是否有程序化(或任何其他方式)來做到這一點?這意味着,我可以渲染此畫布,然後將渲染(應用於所有轉換後)DOM序列化爲XAML?
或者爲了使問題更清楚:每個路徑有兩個變換(如上所示,每個路徑有一個全局翻轉和一個局部變換),我可以以某種方式將這些變換應用於每個路徑/路徑渲染沒有他們。
似乎最簡單的解決方案就是使用像Photoshop這樣的應用程序將原始圖形轉換爲基於矢量的圖形。 –
它是.AI中的一個矢量嗎?爲什麼不使用.AI - > XAML轉換器?你可能會發現它會更清潔。 http://www.mikeswanson.com/xamlexport/ –
不,原來的.ai是一個在Illustrator中製作的矢量,所以不需要混淆位圖。這是該公司從設計師那裏購買的品牌包的一部分。不幸的是,我們沒有擁有Illustrator許可證(盜版不是一種選擇),所以我發現唯一的免費軟件轉換路徑是通過svg。 – mmix