我需要将XAML格式的大量图标(都是使用画布)转换为位图格式。
有人知道这样做的工具吗? 我只发现了xamltoys / xaml2emf。这可行,但不正确 - 颜色混乱,分辨率非常低。
答案 0 :(得分:0)
尝试使用WriteableBitmap
答案 1 :(得分:0)
我所做的这段代码只允许您将任何 FrameworkElement保存到磁盘:
Public Shared Sub SaveImageOfControlToDisk(ByVal MyControl As FrameworkElement, ByVal FileName As String)
Dim ThisVisualBrush As New VisualBrush(MyControl)
Dim ThisDrawingVisual As New DrawingVisual()
Dim dc As DrawingContext = ThisDrawingVisual.RenderOpen()
dc.DrawRectangle(ThisVisualBrush, Nothing, New Rect(New Point(), New Size(MyControl.ActualWidth, MyControl.ActualHeight)))
dc.Close()
Dim render As New RenderTargetBitmap(MyControl.ActualWidth, MyControl.ActualHeight, 96, 96, PixelFormats.Pbgra32)
render.Render(ThisDrawingVisual)
Dim PngEncoder As New PngBitmapEncoder()
PngEncoder.Frames.Add(BitmapFrame.Create(render))
Dim ThisStream As New IO.FileStream(FileName, IO.FileMode.Create)
PngEncoder.Save(ThisStream)
ThisStream.Flush()
ThisStream.Close()
End Sub