WritebleBitmap クラスを使用してキャンバスをビットマップに正常に追加し、ビットマップを使用して SaveFileDilogue を介してクライアント システムに画像を保存しようとしました。ラスター配列を使用して画像をピクセル単位で生成する FluxJpegCore 画像エンコードの方法を使用しています。以下は、仕事をするコードの一部です。
byte[][,] raster = new byte[bands][,];
for (int i = 0; i < bands; i++)
{
raster[i] = new byte[width, height];
}
for (int row = 0; row < height; row++)
{
for (int column = 0; column < width; column++)
{
int pixel = bitmap.Pixels[width * row + column];
raster[0][column, row] = (byte)(pixel >> 16);
raster[1][column, row] = (byte)(pixel >> 8);
raster[2][column, row] = (byte)pixel;
}
}
画像の保存はすべてうまくいきますが、画像をズームしてから印刷すると、「raster[i] = new byte[width, height];」という行でコードが失敗します。システムのメモリ不足エラーが発生します。これに関する解決策を見つけるのを手伝ってくれる人はいますか?