これは前の質問へのフォローアップです。フォローアップがルールに反する場合は申し訳ありません! 私も確信が持てず、この質問に回答した人にも完全な回答の信用を与えたいと思っていました.
フォームの特定のセクションのスクリーンショットを取得しようとしており、CopyFromScreen を使用しています。パネルのスクリーンショットと、パネル上にあるアイテム (上にボタンが浮かんでいる) が必要でした。
ともあれ、実装してみるとスクリーンショットがパネル左上の超遠方に出てきました。スクリーンショットはパネル自体ではなく、パネルのごく一部のみが写真の右下に表示されており、パネルの上と左側の領域が実際に描かれています。
私の実装はどこかでオフになっており、どこにあるのか完全にはわかりません。私が何を間違えたのか分かりますか?(繰り返しますが、スクリーンショットはパネル領域の写真である必要があります。他には何もありません)。
Rectangle rect = new Rectangle(0, 0, panel1.Width, panel1.Height);
Bitmap bmp = new Bitmap(panel1.Width, panel1.Height, PixelFormat.Format32bppArgb);
Graphics g = Graphics.FromImage(bmp);
g.CopyFromScreen(panel1.Left, panel1.Top, 0, 0, bmp.Size, CopyPixelOperation.SourceCopy);
bmp.Save("Test.jpg", ImageFormat.Jpeg);