Udostępnij przez


D1120: Nieprawidłowa próba narysowania mapy bitowej

Operacja nie powiodła się, ponieważ mapa bitowa ma opcję D2D1_BITMAP_OPTIONS_CANNOT_DRAW.

 

Możliwe przyczyny

Ten komunikat występuje, gdy aplikacja próbuje narysować mapę bitową oflagowaną za pomocą D2D1_BITMAP_OPTIONS_CANNOT_DRAW. Obejmuje to bezpośrednie wywołania mapy DrawBitmap, a także rysowanie elementów pierwotnych za pomocą pędzla mapy bitowej.

Możliwe poprawki

Flaga CANNOT_DRAW służy do poprawnego dodawania adnotacji do zasobów, które mogą być używane tylko jako obiekty docelowe, takich jak backbuffers łańcucha wymiany. Jednak można również pominąć flagę CANNOT_DRAW dla niektórych docelowych map bitowych, jeśli mogą być również używane jako źródło. W takim przypadku po prostu pomiń flagę CANNOT_DRAW. Jeśli mapa bitowa musi być oznaczona adnotacją z CANNOT_DRAW ze względu na jego wyłączne użycie jako element docelowy lub aby umożliwić blokowanie procesora CPU, rozważ użycie tekstury przejściowej o takim samym rozmiarze jak żądane źródło, ale bez oznaczenia CANNOT_DRAW. Skopiuj do tekstury przejściowej przy użyciu identyfikatora ID3D11DeviceContext::CopyResource i użyj tekstury przejściowej jako źródła operacji rysunku. Zastosowanie tekstury przejściowej zwiększa implikacje dotyczące wydajności; mogą być dopuszczalne, jeśli źródłowa mapa bitowa nie zmienia się często.