DrawStringメソッドで描画した文字列をコピーするには?
- 題名: DrawStringメソッドで描画した文字列をコピーするには?
- 著者: bondai
- 日時: 2012/03/01 13:20:32
- ID: 30016
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[1]: DrawStringメソッドで描画した文字列をコピーするには?
- 著者: 魔界の仮面弁士
- 日時: 2012/03/01 13:38:34
- ID: 30018
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[2]: DrawStringメソッドで描画した文字列をコピーするには?
- 著者: bondai
- 日時: 2012/03/05 14:51:36
- ID: 30041
- この記事の返信元:
- この記事への返信:
- ツリーを表示
分類:[.NET]
@ PictureBox1とPictureBox2をフォームに配置する。
A PictureBox1に画像を設定する。
PictureBox1.Image = Image.FromFile(ファイル名)
B PicutreBox1に文字列を描画する。
Dim g As Graphics = PictureBox1.CreateGraphics()
g.DrawString(文字列, フォント、ブラシ、レクタングル)
※ これで画像に文字列が重なって表示される。
C ボタンクリックイベントでPictureBox1の画像をPictureBox2にコピーする。
Dim ctl As PictureBox = PictureBox1
Dim img As Bitmap = New Bitmap(ctl.Width, Ctl.Height)
Dim g As Graphics = Graphics.FromImage(img)
Dim dc As IntPtr = g.GetHdc()
PrintWindow(ctl.Handle, dc, 0)
g.ReleaseHdc(dc)
g.Dispose()
PictureBox2.Image = img
※ PictureBox2にはファイルから読み込んだ画像は描画されるが、文字列は描画さない。
PrintWindowは画像をキャプチャーする関数としてDOBON NETで紹介されていたものです。
<System.Runtime.InteropServices.DllImport("User32.dll")> _
Private Shared Function PrintWindow(ByVal hwnd As IntPtr, _
ByVal hDC As IntPtr, ByVal nFlags As Integer) As Boolean
End Function