フォームロード時の画像表示VB2005


マニー  2006-10-18 18:06:28  No: 133778

”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")

フォームロードでもこれだと画像は表示されました。

ただ画像を切って貼っていきたいので
良い方法がございましたらお教えください。


(><)  2006-10-18 19:58:53  No: 133779

フォームロード時でボタンをクリックさせるのではなく
ボタンの中身をフォームロードに直接書けば出ませんか?


マニー  2006-10-18 20:00:10  No: 133780

あピクチャーボックスに切り貼りするだけだと
画面切り替えたり
フレームアウトすると
画像消えちゃうみたいですね。
うーん


マニー  2006-10-18 20:08:21  No: 133781

レスありがとうございます。
フォームロードで直接書いて出来なかったので
ボタンを作ってボタンクリックで出来たので
今度はフォームロードでボタンクリック
をしてみたのですが駄目だったのです。

おそらく切り貼りだと
さっき書いたように実際は画像を切り貼りしてるのだけど
画面の切り替えとかで消えてしまうように
フォームロードだと画像が消えてしまっているのではないかと思うのですが、違う方法で切り貼りするしかないのですかね・・・
画像をリンクしたものは消えないみたいなので
切ったものをまたjpg保存してリンクすれば出来るのでしょうが
大量かつ時間もかかりそうなので何かないでしょうか?


あん  2006-10-19 22:46:01  No: 133782

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


マニー  2006-10-20 03:25:53  No: 133783

あん様
レスありがとうございます。
試させていただきます。
また試してみて結果をご報告いたします。
取り急ぎまで。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加