Czy można używać BitBlt do bezpośredniego kopiowania z mapy bitowej GDI + bez korzystania z GetHBitmap?Czy możliwe jest BitBlt bezpośrednio z mapy bitowej GDI +?
GetHBitmap jest powolny, ponieważ tworzy nową kopię całego obrazu, oprócz i wolniej niż kopia BitBlt, a dany HBITMAP musi zostać usunięty. Obraz jest duży.
Czy istnieje sposób na wskazanie BitBlt do użycia danych pikseli oryginalnego obrazu GDI +?
EDYCJA: Mogę uzyskać wskaźnik do miejsca, gdzie dane GDI + bitmapy pikselowe są w pamięci. Czy mogę utworzyć HBITMAP, który wskazuje dane GDI + bitmapy pikseli, aby uniknąć dodatkowej kopii, a BitBlt z tego?
bitblt kopie DC z jednego do drugiego. Aby narysować bitmapę na DC, wybierasz bitmapę do źródła DC, a następnie BitBlt na miejsce docelowe. Jeśli to właśnie chcesz zrobić z obiektem "Bitmap" GDI +, czy nie powinieneś po prostu użyć 'Graphics.DrawImage', gdzie obiekt' Graphics' opakowuje zamierzony cel DC? Po co w ogóle przejść przez "HBitmap"? –
Powód, dla którego potrzebuję BitBlt jest dla jego operacji rastrowych. DrawImage nie może wykonać operacji OR z jednego obrazu do drugiego. I zrobiłem to z bitmapami GDI, ale jak mogę wybrać bitmapę GDI + do hDC? Naprawdę chciałbym wiedzieć, czy to możliwe. – jnm2