- ベストアンサー
VB.NETでPictureBox間で論理演算
VB6で作成したツールをVB2008に移植中に画像処理で躓きました。 BitBlt trghDC, trgLeft, trgTop, srcWidth, srcHeight, srchDC, 0, 0, vbSrcAnd こんな感じでPictureBoxから別のPictureBoxへAND処理をしてコピーをしたいのですが、 VB.NETではBitBltを使えないとのことで、代わりの方法を探したのですが、単なるコピーばかりで論理演算つきのサンプルが見つかりません。 何か方法はないでしょうか。 1ドットごとに処理してコピーでは遅すぎて話にならないので×です。 ご教授よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
VB.NET で BitBlt を使用したサンプルがありました。 http://www.codeproject.com/KB/GDI-plus/BitBlt.aspx サンプルは SRCCOPY だったので、SRCAND にして試してみましたけど、正常に動作しているようでした。
その他の回答 (1)
- redfox63
- ベストアンサー率71% (1325/1856)
ピクチャーボックスの矩形をスクリーン座標に変換して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() といった具合かと ・・・ コードの検証はしていません
お礼
ありがとうございます。参考にさせていただきます。
お礼
ありがとうございます。参考にさせていただきます。