このメソッドは、スクリーンショットを取得して呼び出しメソッドにイメージを返すことになっています。ビットマップタイプを返すにはどうすればよいですか?
public static Bitmap TakeScreenshot(int x, int y, int height, int width)
{
Rectangle bounds = new Rectangle(0, 0, height, width);
Bitmap bitmap;
using (bitmap = new Bitmap(bounds.Width, bounds.Height))
{
using (Graphics g = Graphics.FromImage(bitmap))
{
g.CopyFromScreen(new Point(x, y), Point.Empty, bounds.Size);
}
}
return bitmap;
}
問題は、私は絵を保存しようとすることです:
Bitmap bitmap = MyClass.TakeScreenshot(0, 0, 200, 200);
bitmap.Save(@"C:\test.jpg", ImageFormat.Jpeg);
その後、私はセーブ・メソッドでエラーが発生します。
ArgumentExceptionが未処理です。 パラメータが無効です。
私はこのようなメソッドの内部で、それを保存しようとする場合、それは正常に動作します:
public static Bitmap TakeScreenshot(int x, int y, int height, int width)
{
Rectangle bounds = new Rectangle(0, 0, height, width);
using (Bitmap bitmap = new Bitmap(bounds.Width, bounds.Height))
{
using (Graphics g = Graphics.FromImage(bitmap))
{
g.CopyFromScreen(new Point(x, y), Point.Empty, bounds.Size);
}
bitmap.Save(@"c:\begin.tiff", ImageFormat.Tiff);
}
}
は、私がここで何をしないのですか?
2番目の方法でJpegとして保存しようとしましたか?現在、合格していないコードは2つの異なるフォーマットで保存しようとしています。 –
私は混乱を避けるためにそれを修正しているはずです。しかし、将来同じフォーマットで保存されます。 –