大きなサイズのピクチャボックスを作成しようとしています。私は作成し、8500x8500までのサイズのビットマップを描くことができます。しかし、私はそれをクリアし、同じサイズの別のビットマップをロードすると、それはOutofMemoryExceptionを示しています。続きC#で大きなサイズ(20000,20000)のピクチャボックスを作成する方法は?
は、コードスニペットです:
pictureBox_MouseMove()
{
//Draw some lines...
}
buttonClear_Click()
{
Bitmap new_image = new Bitmap(8500,8500); // OutofMemoryException
}
私はまた、これらのオブジェクトにメモリを割り当てる方法を知っていただきたいと思います。
ありがとうございます。
GDI +の制限のために(ほぼ)不可能です。http://stackoverflow.com/questions/29175585/what-is-the-maximum-resolution-of-c-sharp-net-bitmap – Pedro
非常に良いdup。プロジェクト>プロパティ>ビルドタブを選択し、「32ビット優先」チェックボックスをオフにします。ビッグビットマップを操作するときには、32ビットプロセスで276メガバイトの連続した領域が見つかることがあります。プログラムの開始直後にしか動作しません。 64ビットプロセスでは問題ではなく、たくさんのスペースがあります。最大2ギガバイト、およそ23000 x 23000のビットマップにすることができます。 –
ありがとうHans Passant ...それは本当に働いた.. –