0

この関数を複数回呼び出すと、try ブロックのいずれかがエラーをスローし続けます。これは、特に繰り返し呼び出す場合にランダムに発生します。

//CameraCanvas: Class bitmap variable
//Canvas: Class bitmap imported through open file dialog

public void UpdateCamera()
    {
        try
        {
            CameraCanvas = new Bitmap(CameraWidthHeight.X, CameraWidthHeight.Y, PixelFormat.Format32bppArgb);
        }
        catch(Exception ex)
        {
            throw ex;
        }
        Graphics g = Graphics.FromImage(CameraCanvas);
        g.InterpolationMode = InterpolationMode.NearestNeighbor;

        //Draw it
        Bitmap drawImage = Canvas;
        g.DrawImage(drawImage, new PointF(0f,0f));
        try
        {
            CameraCanvas = new Bitmap(CameraWidthHeight.X, CameraWidthHeight.Y, g);
        }
        catch(Exception ex)
        {
            throw ex;
        }
        g.Dispose();
    }

私は非常に多くのことを試しましたが、どれも機能しません。どのコードにもストリームなどは含まれていません。以下は、フォーム コンストラクターの [ファイルを開く] ダイアログを介して Canvas をビットマップとしてインポートするためのコードです。

        Bitmap source;
        try
        {
            OpenFileDialog of = new OpenFileDialog();
            if(of.ShowDialog() == DialogResult.OK)
            {
                source = new Bitmap(of.FileName);
                Canvas = source;
                this.TopLevel = true;
            }
        }
        catch(Exception ex)
        {
            throw ex;
        }
4

0 に答える 0