Помогите пожалуйста.
Есть всем знакомый метод:
public static Bitmap System.Drawing.Image.FromHbitmap(IntPtr hbitmap)
где hbitmap это дескриптор точечного рисунка GDI.
Вопрос в следующем: что представляет из себя этот дескриптор(может есть какая нибудь структура на которую он указывает)?
Вопрос был вызван тем что если использовать следующею функцию для WPF:
private static System.Windows.Media.Imaging.BitmapSource loadBitmap(System.Drawing.Bitmap source)
{
IntPtr ip = source.GetHbitmap();
System.Windows.Media.Imaging.BitmapSource bs = null;
try
{
bs = System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap(ip,
IntPtr.Zero, System.Windows.Int32Rect.Empty,
System.Windows.Media.Imaging.BitmapSizeOptions.FromEmptyOptions());
}
finally
{
GDI32.DeleteDC(ip);
}
return bs;
}
и попытаться отобразить скриншот рабочего стола, то отображаются только иконки и кнопки: закрыть, развернуть и свернуть, а все остальное — белый фон. В случае Image.FromHbitmap(IntPtr hbitmap) все отображается корректно.