【发布时间】:2015-02-13 23:38:51
【问题描述】:
我在 C# 中创建了一个应用程序,它使用 user32.dll 从窗口句柄获取图标图像,如下所示:
[DllImport("user32.dll", EntryPoint = "GetClassLong")]
private static extern int GetClassLongPtr32(IntPtr hWnd, int nIndex);
public static IntPtr GetAppIcon(IntPtr hwnd)
{
return WI.GetClassLongPtr32(hwnd, WI.ICON_SMALL);
}
我想从这个图标指针创建一个 BitmapSource。通常对于 WPF,我会使用
Imaging.CreateBitmapSourceFromHIcon(handle, Int32Rect.Empty, BitmapSizeOptions.FromEmptyOptions());
但由于我需要 BitmapSource 在 Direct2D 渲染目标中绘制它,所以我需要使用 DirectX 的 BitmapSource
Microsoft.WindowsAPICodePack.DirectX.WindowImagingComponent.BitmapSource
如何使用图标句柄创建这种 BitmapSource,或者我可以将一种 BitmapSource 类型转移到另一种?
【问题讨论】:
标签: c# .net wpf directx direct2d