0
現在のウィンドウをつかみ、それをビットマップにコピーするいくつかのコードをWeb上に見つけました。私は以下の適切なビットを含んでいます。現在、クライアント領域をコピーしていますが、フレームも取得したいと考えています。そのハンドルを手に入れる方法はありますか?別の方法がある)Winforms - フレーム(BitBlt)を含むウィンドウの画像
using (var bmp = new Bitmap(this.Width, this.Height)) {
this.DrawToBitmap(bmp, new Rectangle(Point.Empty, this.Size));
bmp.Save("c:/temp/test.png");
}
Graphics.CopyFromScreen(:だから私は
// Capture snapshot of the form...
if (base.IsHandleCreated)
{
//
// Get DC of the form...
IntPtr srcDc = GetDC(Handle);
//
// Create bitmap to store image of form...
var bmp = new Bitmap(ClientRectangle.Width, ClientRectangle.Height);
//
// Create a GDI+ context from the created bitmap...
using (Graphics g = Graphics.FromImage(bmp))
{
//
// Copy image of form into bitmap...
IntPtr bmpDc = g.GetHdc();
BitBlt(bmpDc, 0, 0, bmp.Width, bmp.Height, srcDc, 0, 0, 0x00CC0020 /* SRCCOPY */);
フォームのDrawToBitmap()メソッドを使用します。 –
パーフェクト、私はその方法を知らなかったので、遠くに行っていた。あなたが答えとして追加するなら、私はそれを正しいものとしてマークします。 – Ian