DOBON.NET DOBON.NETプログラミング掲示板過去ログ

Bitblt転送について

  • 題名: Bitblt転送について
  • 著者: 初心者
  • 日時: 2004/03/19 21:53:54
  • ID: 3181
  • この記事の返信元:
    • (なし)
  • この記事への返信:
    • (なし)
  • ツリーを表示
環境/言語:[VB.NET]
分類:[.NET]

Bitbltに関する過去レスは、いろいろ書かれているのですが、全部読ましていただいたのですが、力がなくて・・・難しくて分かりません

VB6で作ったプログラムをVB.NETで書き換えたいのですが、Form1からのイベントでForm2の画像をForm1にBitblt転送したいのです。
モジュールは、VB6からVB.NETへのウイザードで作成された、 Public Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Integer, ByVal X As Integer, ByVal Y As Integer, ByVal nWidth As Integer, ByVal nHeight As Integer, ByVal hSrcDC As Integer, ByVal xSrc As Integer, ByVal ySrc As Integer, ByVal dwRop As Integer) As Integer
をそのまま使いました。
Form1の中でのBitblt転送なら
Dim g1 As System.Drawing.Graphics = PictureBox1.CreateGraphics
Dim g2 As System.Drawing.Graphics = PictureBox2.CreateGraphics
BitBlt(g2.GetHdc.ToInt32, 0, 0, 50, 50, g1.GetHdc.ToInt32, 0, 0, &HCC0020)
これでうまくいったのですが、Form2の画像をForm1に転送したいので
Dim frmForm2 As New Form2
Dim imageFile As Image = frmForm2.PictureBox1.Image
Dim newGraphics As Graphics = Graphics.FromImage(imageFile)
Dim g1 As System.Drawing.Graphics = newGraphics
Dim g2 As System.Drawing.Graphics = PictureBox2.CreateGraphics
BitBlt(g2.GetHdc.ToInt32, 0, 0, 50, 50, g1.GetHdc.ToInt32, 0, 0, &HCC0020)
と行いますと、画像が黒い画像が転送されて、うまくいきません。初心者ですので分かりやすくご指導のほど宜しくお願いいたします。

DOBON.NET | プログラミング道 | プログラミング掲示板