tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトル画像に文字を追加
記事No10223
投稿日: 2010/09/07(Tue) 00:45
投稿者YUKI
画像に文字を組み込むソフトを作ろうと考えています。
ちょうど、ペイントで画像を開いた後にテキストを追加するイメージです。
本HPの描画・画像のカテゴリを参考に作成をしているのですが、画像と描画した文字を同時に表示できません。
どうかご教授できないでしょうか。
もし参考ページがありましたらよろしくお願いします。

[ツリー表示へ]
タイトルRe: 画像に文字を追加
記事No10224
投稿日: 2010/09/07(Tue) 11:19
投稿者花ちゃん
> 本HPの描画・画像のカテゴリを参考に作成をしているのですが、画像と描画した文字を同時に表示できません。

どのサンプルを参考にして、どのように変更して、どこが、どのようにうまく表示
できなかったのでしょうか?

画像だけ、文字だけなら表示できるのですか?
(コードを書いて下さい的な質問でなく、問題点をピンポイントで質問するように)

注意事項にも書いていますようにバージョン等や環境等も含め詳しく書くように
して下さい。
特にこう言ったデザイン的な質問は、相手に伝わりにくいので。
例えば、ペイントで画像を開いた後にテキストを追加するイメージです。と言っても
全く、ペイントと同じような操作でないといけないのか?あらかじめ決められた位置に
表示すればいいのか?ペイントと同じようにしたいなら、範囲選択の四角やフォント等の
選択等の操作はできるのか? 等々

取り敢えず、ここの掲載しているサンプルを使って画像の上に文字を描画して見ましたので
参考にして、一行、一行何をしているのかを調べ、ご自分のやりたい事に応用して下さい。

Private Sub Button1_Click(ByVal sender As System.Object, _
                          ByVal e As System.EventArgs) Handles Button1.Click
   'ピクチャーボックスに画像を表示
   Dim bmap As Bitmap = New Bitmap("c:\test.bmp")
   PictureBox1.Image = bmap
   PictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize
   '画像に文字を描画
   Dim g As Graphics
   PictureBox1.Image = New Bitmap(bmap)
   g = Graphics.FromImage(PictureBox1.Image)
   Dim f As New Font("MS Pゴシック", 14)
   g.DrawString("花ちゃん", f, Brushes.Red, 10, 10)
   f.Dispose()
   g.Dispose()
   bmap.Dispose()
End Sub

[ツリー表示へ]
タイトルRe^2: 画像に文字を追加
記事No10225
投稿日: 2010/09/08(Wed) 01:58
投稿者YUKI
お答いただきありがとうございます。

> (コードを書いて下さい的な質問でなく、問題点をピンポイントで質問するように)
おっしゃる通りで、私の質問では期待しているお答をいただけなかったかもしれません。
注意していただきありがとうございます。

私の聞きたかった内容は
画像を読み込んだ後に、決まった位置に指定した文字列を追加するというものでした。
現状では Windows7でVB2010を使っています。

PictureBox上で消える画像&描画のページを参考にしていたのですが、画像と描画は別々に表示できても、重ねて表示はできない状況でした。

私の作成したコードと回答していただいたサンプルとを比較したところ、
>    g = Graphics.FromImage(PictureBox1.Image)
を私が作成したコードでは
Dim g As Graphics = PictureBox1.CreateGraphics()
としていたため、画像を表示したのちCreateGraphicsで上書きが起こり同時に表示できなかったのではないかと思います。
回答いただいたサンプルを参考にしたところ、問題点は解決しました。

ありがとうございました。

[ツリー表示へ]