标签: interopbitmapimage

InteropBitmap到BitmapImage

我正在尝试将a转换Bitmap (SystemIcons.Question)为a,BitmapImage因此我可以在WPF图像控件中使用它.

我有以下方法将其转换为a BitmapSource,但它返回一个InteropBitmapImage,现在的问题是如何将其转换为BitmapImage.直接演员似乎不起作用.

有谁知道怎么做?

码:

 public BitmapSource ConvertToBitmapSource()
        {
            int width = SystemIcons.Question.Width;
            int height = SystemIcons.Question.Height;
            object a = System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap(SystemIcons.Question.ToBitmap().GetHbitmap(), IntPtr.Zero, System.Windows.Int32Rect.Empty, BitmapSizeOptions.FromWidthAndHeight(width, height));

            return (BitmapSource)a;
        }
Run Code Online (Sandbox Code Playgroud)

返回BitmapImage的属性:(绑定到我的图像控件)

public BitmapImage QuestionIcon
        {
            get
            {
                return  (BitmapImage)ConvertToBitmapSource();
            }
        }
Run Code Online (Sandbox Code Playgroud)

c# wpf bitmapsource bitmapimage interopbitmapimage

5
推荐指数
1
解决办法
8559
查看次数

WPF图像:.Source = Clipboard.GetImage()不显示

这个简单的程序不起作用,图像不会出现在Window中.

namespace ClipBoardTest
{
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }
        private void CopyButton_Click(object sender, RoutedEventArgs e)
        {
            if (Clipboard.ContainsImage())
            {
                ImageUIElement.Source = Clipboard.GetImage();
                Console.WriteLine("Clipboard copied to UIElement");
            }
            else
            {
                Console.WriteLine("No image in Clipboard");
            }
        }
    }
 }
Run Code Online (Sandbox Code Playgroud)

输出是"剪贴板复制到UIElement",但图像不会出现在窗口中.

XAML:

 <Window x:Class="ClipBoardTest.MainWindow"
         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
         Title="MainWindow" Height="350" Width="525">
     <Grid>
         <Button x:Name="CopyButton" Content="Copy" HorizontalAlignment="Left" Margin="10,10,0,0" VerticalAlignment="Top" Width="75" Click="CopyButton_Click"/>
         <Image x:Name="ImageUIElement" Margin="90,10,10,10"/>
     </Grid>
 </Window>
Run Code Online (Sandbox Code Playgroud)

有谁知道,哪些是错的?

c# wpf interopbitmapimage

1
推荐指数
1
解决办法
4536
查看次数

标签 统计

c# ×2

interopbitmapimage ×2

wpf ×2

bitmapimage ×1

bitmapsource ×1