cdc = CreateCompatibleDC(PaintBox->Canvas->Handle);//Создаем совместимый контекст
SelectObject(cdc, Bitmap.Handle);
BitBlt(PaintBox->Canvas->Handle, ....., cdc, ...., SRCCOPY);
DeleteObject(cdc);
Быстрое копирование изображения
Как максимально быстрым способом перенести изображение из Bitmap на Canvas компонента PaintBox. При переносе края изображения могут отсекаться.
У меня в приложении изображение из Bitmap должно перемещаться за курсором мыши. При этом происходит сильное мерцание, что "некрасиво" и быстро утомляет глаза.
BitBlt() - для копирования - быстрее помоему ничего нет, но в твоем случае советую использовать в сочетании со ScrollDC()
и не забыть DoubleBuffer установить в true для формы.
Что касается BitBlt(), то здесь появилась проблема получения контекстов устройств:
Bitmap->Canvas->Handle и PaintBox->Canvas->Handle результата не дает.
Кто знает, откуда получить(или, может, как создать) HDC для графических объектов таких как Bitmap, PaintBox?
Код: