フォームのボタンを押したときにトリミングしたい画像があります。ボタンが押されたときに実行される次のコードがありますが、画像には何もしません。
try
{
Image image = Image.FromFile("test.jpg");
Bitmap bmp = new Bitmap(200, 200, PixelFormat.Format24bppRgb);
bmp.SetResolution(80, 60);
Graphics gfx = Graphics.FromImage(bmp);
gfx.SmoothingMode = SmoothingMode.AntiAlias;
gfx.InterpolationMode = InterpolationMode.HighQualityBicubic;
gfx.PixelOffsetMode = PixelOffsetMode.HighQuality;
gfx.DrawImage(image, new Rectangle(0, 0, 200, 200), 10, 10, 200, 200, GraphicsUnit.Pixel);
// Dispose to free up resources
image.Dispose();
bmp.Dispose();
gfx.Dispose();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
私の画像は、実際には次のコードを含むフォームのアクティブなウィンドウのスクリーンショットです。
Rectangle bounds = this.Bounds;
using (Bitmap bitmap = new Bitmap(bounds.Width, bounds.Height))
{
using (Graphics g = Graphics.FromImage(bitmap))
{
g.CopyFromScreen(new Point(bounds.Left, bounds.Top), Point.Empty, bounds.Size);
}
bitmap.Save("test.jpg", ImageFormat.Jpeg);
}
これを完了するには、同じボタンを押すだけで、最初にフォームのスクリーンショットを撮り、次にその画像をトリミングしたいのですが、トリミングが機能しません。何故ですか?