我在System.Drawing.Image對象中有圖像,我需要從它創建一個ImageBrush對象(用於在WPF中的Rectangle的Fill屬性)。我想應該有辦法做到這一點,但我找不到一個。如何從WPF中的System.Drawing.Image創建ImageBrush?
5
A
回答
13
var image = System.Drawing.Image.FromFile("..."); // or wherever it comes from
var bitmap = new System.Drawing.Bitmap(image);
var bitmapSource = Imaging.CreateBitmapSourceFromHBitmap(bitmap.GetHbitmap(),
IntPtr.Zero,
Int32Rect.Empty,
BitmapSizeOptions.FromEmptyOptions()
);
bitmap.Dispose();
var brush = new ImageBrush(bitmapSource);
但是,此解決方案不釋放手柄的內存。有關如何刪除信息的內存泄漏看到WPF CreateBitmapSourceFromHBitmap() memory leak
2
<Rectangle x:Name="RectangleName"
StrokeThickness="1"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"
Width="200"
Height="300"
Stroke="Black" >
<Rectangle.Fill>
<ImageBrush ImageSource="{Binding SelectedComponentsImage}" x:Name="ComponentVisualBrush" ViewboxUnits="Absolute"
Viewbox="0,0,300,300" ViewportUnits="RelativeToBoundingBox" Stretch="UniformToFill" Viewport="0,0,1,1"
RenderOptions.EdgeMode="Aliased" />
</Rectangle.Fill>
</Rectangle>
這與視圖模型綁定。你可以用圖像替換綁定。
相關問題
- 1. 如何從http鏡像創建System.Drawing.Image
- 2. WPF ImageBrush從代碼隱藏轉換?
- 3. C#WPF System.Drawing.Image到System.Windows.Media.Imaging.BitmapSource
- 4. wpf - 如何在imagebrush中支持位圖透明度
- 5. 從System.Drawing.Image的文件系統上創建一個新的圖像?
- 6. 如何從WPF中的DataContext中動態創建一個類?
- 7. 如何更改DataTemplate中ImageBrush的ImageSource值
- 8. 從System.Drawing.Image創建一個iTextSharp.text.Image [GetInstance overload not available]
- 9. WPF - ImageBrush與PNG,不尊重alpha通道
- 10. WPF窗口背景ImageBrush不平鋪
- 11. WPF如何創建字母
- 12. 將ImageBrush中的空閒內存設置爲WPF中的空格
- 13. 如何從WPF MVVM中的Usercontrol創建PDF
- 14. 如何從WPF中的對象列表創建TreeView
- 15. 如何從「我直接創建的HwndSource中獲取WPF窗口?
- 16. 如何在BackgroundWorker中創建WPF窗口?
- 17. 如何在WPF中創建Cover Flow?
- 18. 如何在wpf中創建消息框
- 19. 如何在WPF UserControl中創建樣式?
- 20. 如何在wpf中創建Datatable?
- 21. 如何在WPF中創建List-like UserControl?
- 22. 如何在MVVM中創建WPF UserControl
- 23. 如何在wpf中創建activex?
- 24. 如何在Gmap.net wpf中創建路由?
- 25. 從示例中創建一個wpf UIElement
- 26. 從(wpf)visual在內存中創建Ximage
- 27. 如何複製System.Drawing.Image值?
- 28. 如何旋轉System.Drawing.Image x度?
- 29. System.Drawing.Image類如何工作?
- 30. 建議我如何在wpf中創建一個好的打印?