”VB2005”ですが、フォームロード時にピクチャーボックスに画像を切り取って部分的に表示させたいのですが、以下
Dim g As Graphics = Me.PictureBox1.CreateGraphics()
g.DrawImage(A.Image, _
New Rectangle(New Point(0, 0), New Size(66, 118)), _
New Rectangle(New Point(0, 0), New Size(66, 118)), _
GraphicsUnit.Pixel)
ですが、本に載ってたサンプルプログラミングを使用しました。
ですが、ボタンクリックではうまく動作するのですが
フォームロードでは表示されません。
ちなみにフォームロードでボタンクリックをさせても表示しませんでした。
フォームロードで行うことに何か問題がありそうなのですが
A.Image = Image.FromFile("C:\B.jpg")
フォームロードでもこれだと画像は表示されました。
ただ画像を切って貼っていきたいので
良い方法がございましたらお教えください。
フォームロード時でボタンをクリックさせるのではなく
ボタンの中身をフォームロードに直接書けば出ませんか?
あピクチャーボックスに切り貼りするだけだと
画面切り替えたり
フレームアウトすると
画像消えちゃうみたいですね。
うーん
レスありがとうございます。
フォームロードで直接書いて出来なかったので
ボタンを作ってボタンクリックで出来たので
今度はフォームロードでボタンクリック
をしてみたのですが駄目だったのです。
おそらく切り貼りだと
さっき書いたように実際は画像を切り貼りしてるのだけど
画面の切り替えとかで消えてしまうように
フォームロードだと画像が消えてしまっているのではないかと思うのですが、違う方法で切り貼りするしかないのですかね・・・
画像をリンクしたものは消えないみたいなので
切ったものをまたjpg保存してリンクすれば出来るのでしょうが
大量かつ時間もかかりそうなので何かないでしょうか?
GDIで描画したimageを設定すればいいと思います。
Dim img as Image = New BitMap(CType(Me.PictureBox1.Image.Clone,Image))
Dim g As Graphics = Graphics.FromImage(img)
g.DrawImage...
PictureBox1.Image = img
あん様
レスありがとうございます。
試させていただきます。
また試してみて結果をご報告いたします。
取り急ぎまで。
ツイート | ![]() |