Leggere in inglese

Condividi tramite


D1120: tentativo non valido di disegnare bitmap

Operazione non riuscita perché la bitmap ha l'opzione D2D1_BITMAP_OPTIONS_CANNOT_DRAW.

 

Possibili cause

Questo messaggio si verifica quando un'applicazione tenta di disegnare una bitmap contrassegnata con D2D1_BITMAP_OPTIONS_CANNOT_DRAW. Sono incluse chiamate dirette a DrawBitmap, nonché il disegno di primitive usando un pennello bitmap.

Correzioni possibili

Il flag CANNOT_DRAW viene usato per annotare correttamente le risorse che possono essere usate solo come destinazioni, ad esempio backbuffer della catena di scambio. Tuttavia, è anche consentito omettere il flag di CANNOT_DRAW per alcune bitmap di destinazione se possono essere usate anche come origine. Se si tratta del caso, è sufficiente omettere il flag di CANNOT_DRAW. Se la bitmap deve essere annotata con CANNOT_DRAW a causa dell'uso esclusivo come destinazione o per consentire la blocco della CPU, è consigliabile usare una trama di staging con le stesse dimensioni dell'origine desiderata, ma senza la designazione CANNOT_DRAW. Copiare nella trama di staging usando ID3D11DeviceContext::CopyResource e usare la trama di staging come origine per l'operazione di disegno. L'uso di una trama di staging dà luogo a implicazioni sulle prestazioni; possono essere accettabili se la bitmap di origine non cambia spesso.