0

画像の保存に少し問題があります。画像を保存しようとする行に「Bad parmeter」と表示されます。

画像を作成する方法なのか、それとも保存するだけなのか、それが問題なのかわかりません。

public static void Fullscreen()
{
    string fileName = Helper.RandomStr(10) + ".png";

    try
    {
        var image = ScreenCapture.CaptureFullscreen();
        image.Save(fileName, ImageFormat.Png);

        System.Diagnostics.Process.Start(fileName);
    }
    catch (Exception ex)
    {
        MessageBox.Show("Unable to capture fullscreen because: " + ex.ToString() + "\r\n\r\nFile: " + fileName);
    }
}

編集:

ビットマップを取得するメソッドは次のとおりです

    public static Bitmap CaptureFullscreen()
    {
        using (Bitmap bmp = new Bitmap(ScreenDimensions.Width, ScreenDimensions.Height))
        {
            using (Graphics g = Graphics.FromImage(bmp))
            {
                g.CopyFromScreen(Point.Empty, Point.Empty, bmp.Size);
            }

            return bmp;
        }
    }
4

2 に答える 2

1

不正なパラメーターは、GDI+ が何らかの問題があったことを示す方法です。エラーがあまり説明的でないのは残念です。

まず、次のようにイメージ パラメータを Bitmap コンストラクタにラップしてみます。

image = new Bitmap(image);

これにより、ビットマップがすぐに処理されます。

それはさらに簡単で、ビットマップで使用して削除しました。

于 2013-07-12T13:20:27.300 に答える