D1120: ビットマップの描画が無効です

ビットマップに D2D1_BITMAP_OPTIONS_CANNOT_DRAW オプションがあるため、操作に失敗しました。

 

考えられる原因

このメッセージは、アプリケーションがD2D1_BITMAP_OPTIONS_CANNOT_DRAWでフラグが設定されたビットマップを描画しようとしたときに発生します。 これには、DrawBitmap への直接呼び出しと、ビットマップ ブラシを使用したプリミティブの描画が含まれます。

可能な修正方法

CANNOT_DRAW フラグは、スワップ チェーン のバックバッファーなど、ターゲットとしてのみ使用できるリソースに正しく注釈を付けるために使用されます。 ただし、ソースとしても使用できる場合は、一部のターゲット ビットマップのCANNOT_DRAW フラグを省略することもできます。 その場合は、CANNOT_DRAW フラグを省略するだけです。 ビットマップがターゲットとして排他的に使用されるためにCANNOT_DRAWで注釈を付ける必要がある場合、または CPU ロック機能を許可するために、目的のソースと同じサイズのステージング テクスチャを使用することを検討してくださいが、CANNOT_DRAW指定はありません。 ID3D11DeviceContext::CopyResource を使用してステージング テクスチャにコピーし、ステージング テクスチャを描画操作のソースとして使用します。 ステージング テクスチャを使用すると、パフォーマンスへの影響が生じます。ソース ビットマップが頻繁に変更されない場合は、許容される場合があります。