アプリ版:「スタンプのみでお礼する」機能のリリースについて

VB6で作成したツールをVB2008に移植中に画像処理で躓きました。

BitBlt trghDC, trgLeft, trgTop, srcWidth, srcHeight, srchDC, 0, 0, vbSrcAnd

こんな感じでPictureBoxから別のPictureBoxへAND処理をしてコピーをしたいのですが、
VB.NETではBitBltを使えないとのことで、代わりの方法を探したのですが、単なるコピーばかりで論理演算つきのサンプルが見つかりません。
何か方法はないでしょうか。
1ドットごとに処理してコピーでは遅すぎて話にならないので×です。
ご教授よろしくお願いします。

A 回答 (2件)

VB.NET で BitBlt を使用したサンプルがありました。



http://www.codeproject.com/KB/GDI-plus/BitBlt.aspx

サンプルは SRCCOPY だったので、SRCAND にして試してみましたけど、正常に動作しているようでした。
    • good
    • 0
この回答へのお礼

ありがとうございます。参考にさせていただきます。

お礼日時:2010/12/13 21:41

ピクチャーボックスの矩形をスクリーン座標に変換してGraphics.CopyFromScreenを使えば出来そうですよ



スクリーン座標への変換は Me.PointToScreenかPictureBox1.PointToScreenで出来ると思います

dim pt1, pt2 as Point, g as Graphics
pt1 = me.PointToScreen( PictureBox1.Location )
pt2 = me.PointToScreen( PictureBox2.Location )
g = PictureBox2.CreateGraphics()
g.CopyFromScreen( p1.x, p1.y, p2.x, p2.y, PictureBox1.Size,SourceAnd)
g.Dispose()

といった具合かと ・・・ コードの検証はしていません
    • good
    • 0
この回答へのお礼

ありがとうございます。参考にさせていただきます。

お礼日時:2010/12/13 21:41

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!