- - PR -
.NETでスクリーンキャプチャー セーブが変!?
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2003-01-17 15:58
(ご存知の方もいらっしゃると思いますが...)
2日ぐらい試行錯誤しながら、やっとスマートな方法でスクリーンキャプチャする ことに成功しました。 ソースの要約は、、、 Graphics disp_g = some_control1.CreateGraphics(); IntPtr disp_hDC = disp_g.GetHdc(); Bitmap bmp = new Bitmap( size.Width, size.Height ); Graphics bmp_g = Graphics.FromImage( bmp ); IntPtr bmp_hDC = bmp_g.GetHdc(); bool ret = BitBlt( bmp_hDC, 0, 0, bmp.Width, bmp.Height, disp_hDC, 0, 0, 0x00CC0020 ); bmp_g.ReleaseHdc( bmp_hDC ); bmp_g.Dispose(); disp_g.ReleaseHdc( bmp_hDC ); disp_g.Dispose(); さて、問題は、このビットマップをファイルにセーブしたいのですが、 どうもうまくいきません。(真っ黒になる) 最悪、 Clipboard.SetDataObject( bmp ); は成功しているので、使い物にはなるのですが、 もしこの問題の解決法をご存知の方がいらっしゃったらお教え下さい。 よろしくお願いします。 |
|
投稿日時: 2003-01-17 16:01
ソースに間違いがありました。
誤 disp_g.ReleaseHdc( bmp_hDC ); 正 disp_g.ReleaseHdc( disp_hDC ); |
1