Я пытаюсь выполнить BitBlt из HBITMAP в GDI + растровое изображение.Я попробовал это, но ничего не происходит:
Bitmap Buffer = New Bitmap(608, 392)
Graphics BufferGraphics = Graphics.FromImage(Buffer);
IntPtr hBufferDC = BufferGraphics.GetHdc();
...
BitBlt(hBufferDC, x, y, width, height, hInputDC, 0, 0, SRCCOPY);
РЕДАКТИРОВАТЬ: Очевидно, что hDC не работает, если я его получу, а затем гораздо позже использую его с BitBlt.Мне нужно было убедиться, что hDC все еще действителен.Вот решение:
Bitmap Buffer = New Bitmap(608, 392)
Graphics BufferGraphics = Graphics.FromImage(Buffer);
...
IntPtr hBufferDC = BufferGraphics.GetHdc();
BitBlt(hBufferDC, x, y, width, height, hInputDC, 0, 0, SRCCOPY);
BufferGraphics.ReleaseHdc(hBufferDC);
Кто-нибудь знает, почему это изменение необходимо?Почему может не работать использование hDC, полученного ранее, как в первом примере?