VB2008のリッチテキストボックスを使用して、画像や文字を貼り付けて利用しています。
画像ファイルの画像をリッチテキストボックスに表示させる場合、画像を直接リッチテキストボックスに表示させる方法が分からないため、
画像ファイルをビットマップに呼び出して、それをクリップボード経由でリッチテキストボックスに貼り付けています。
さて、リッチテキストボックスに貼り付けた画像がリッチテキストボックスの幅より大きい場合、
自動的に画像の大きさを縮小したいのですが、どうすればよいでしょうか?
現在画像をビットマップに変換しているため、ビットマップ変換時にビットマップのピクセルを小さくすれば
縮小は可能なのですが、ここで縮小すると、画像が劣化するので、リッチテキストボックスに貼り付けた画像を
手動で(マウスを使って)サイズ調整する感覚でできたらいいなと思っています。
どうぞよろしくお願いいたします。
リッチテキストボックスを使用する意図は何ですか?
味噌カレー牛乳ラーメン食べようよさま、こんにちは。
リッチテキストボックスを使用する目的は、後でリッチテキスト形式で保存し、WORDなどで開いたりできるようにしたいためです。
後で編集ができるようにするため、あえてHTMLで構築することは考えていません。
そもそも、リッチテキストボックスへの画像の挿入はクリップボード経由で行っていますが、
もっとよい方法がございましたらお教えください。
よろしくお願いいたします。
こんな感じで良いのでしょうか?
まず、OpenFileDialog, PictureBox,Buttonコントロールを追加します
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
OpenFileDialog1.Filter = "jpeg(*.jpg,*.jpg)|*.jpg;*.jpg|" + " ビットマップ(*.bmp)|*.bmp"
Dim fname As String = ""
OpenFileDialog1.Filter = "jpeg(*.jpg,*.jpg)|*.jpg;*.jpg|" + " ビットマップ(*.bmp)|*.bmp"
'ファイルを開くダイアログボックス
If OpenFileDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then
'ファイル名を取得
fname = OpenFileDialog1.FileName
'読み込み
PictureBox1.Image = Image.FromFile(fname)
PictureBox1.SizeMode = PictureBoxSizeMode.Zoom
End If
補足
リッチテキストボックスの中にPictureBox1を挿入配置してください
開発環境はVB2008
http://bbs.wankuma.com/index.cgi?mode=al2&namber=19190&KLOG=37
参考になるといいですね。
みなさま、ありがとうございました。
実際のリッチテキストボックスのrtf情報を見たところ、\picwgoal(数値)および\pichgoal(数値)というコードがあり、
どうやら前者は画像の幅、後者は画像の高さに関係がありそうです。
これらの数値部分を直接書き換えることで対応できそうです。
とりあえず、このスレは終了とします。
ツイート | ![]() |