我一直有同樣的問題,整個上午,正要完全放棄對SVG的支持,似乎是瘋了,你不能得到一個可擴展的格式,比例適當,...
但是,我有還有一個去,我想我已經完成了。
您似乎需要告訴SvgImageSource
以SVG的原始設計尺寸進行光柵化,然後讓Image
對其進行縮放。不知道這是一個特別有用的辦法,但肯定解決了它作爲構建15063.
<Image Width="24" Stretch="Uniform" VerticalAlignment="Center">
<Image.Source>
<SvgImageSource UriSource="ms-appx:///Assets/salesorder.folder.plain.svg"
RasterizePixelHeight="48"
RasterizePixelWidth="48" />
</Image.Source>
</Image>
因此,如果SVG是48×48,我們用RasterizePixelHeight
和RasterizePixelWidth
值,然後將圖像尺度把它變成一個位圖,在48x48的那到24x24。
希望有所幫助。
更新 我只是重讀你的問題,並意識到你正在尋找增加規模,而我一直在努力減少它。看起來好像該技術仍然有效,但隨着放大,由於位圖縮放過程,您將失去圖像的清晰度。我認爲這表明了目前實施的一個根本性缺陷。他們似乎將svg渲染爲位圖,我們必須告訴它原始尺寸才能正確渲染,然後允許位圖代碼完成剩下的工作。
我認爲這是真正的支持還是一個奇怪的中途房子是有些可辯論的。某處有人建議Adobe Illustrator可以生成XAML路徑,我想我會看看是否可以獲得更好的質量輸出,儘管因爲我非常喜歡Inkscape :-(
我以爲Image.Source需要[BitmapImage class](https://docs.microsoft.com/en-us/uwp/ api/windows.ui.xaml.media.imaging.bitmapimage),所以我會假設它將SVG渲染爲柵格位圖,這意味着您可能需要將'Image'包裝到[ViewBox](https:/ /docs.microsoft.com/en-us/uwp/api/windows.ui.xaml.controls.viewbox)或個人我只會使用XAML路徑標記這是SIM卡ilar到SVG,您可以從Adobe Illustrator導出爲該格式。我沒有聽說過SVG的支持,甚至在文檔中也沒有,但如果得到全面支持,那將會很酷。 –