- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:【C#】GraphicsのhDcについて)
C#でのGraphicsのhDcに関する質問
このQ&Aのポイント
- C#でアプリケーションを作成しています。PictureBoxに読み込んだ画像を画像処理ライブラリにGraphicsのhDcを渡し、処理をさせたいのですが、hdcを渡すと真っ黒な画像が表示されてしまいます。ピクチャーボックス1のPaintイベントを使うと正常に処理された画像が表示されます。この違いについて教えてください。
- 質問なのですが、PictureBox1.Imageから作ったGraphicsとPaintEventArgs.Graphicsはどのような差があるのでしょうか?また、PaintEventArgsを使わず同じようなGraphicsを作るにはどうしたらいいでしょうか?
- C#でアプリケーションを作成しています。PictureBoxに読み込んだ画像を画像処理ライブラリに渡したいのですが、GraphicsのhDcを渡すと画像が真っ黒になってしまいます。一方、PictureBoxのPaintイベントを使うと正常に処理された画像が表示されます。この違いについて教えてください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
Paintイベント外から呼び出すには、 Graphics g = pictureBox1.CreateGraphics(); IntPtr hdc = g.GetHdc(); でよいと思います。 Graphics.fromImage(image); は、BitMapなどのImageからグラフィックオブジェクトを生成しますが、 この場合、親であるPictureBox1がimageを管理しているわけですから、 親から生成するのが普通かと思います。
お礼
思った通りに処理出来ました! ありがとうございました。