
夜分遅くに失礼します
プログラムを始めて、まだ3ヶ月弱程度の初心者です(知識等もあまりありません。。至らないところがかなりありますが、宜しくお願いします)
今回 皆様にお聞きしたいことがVb.netによる画像の動的表示方法についてです
本来ならば画像の動的表示はimage.FromFileメソッドを使用すれば普通にできるはずなのですが、、、
現在の会社で使っているVisulaStudioが2008と古いため、
image.FromFileメソッドがなく、画像の動的表示をどうすればいいのか、、という部分で詰まってしまいました
今回 自分が作成したい処理が別のフォームにあるpictureboxの画像を呼び出して、ページが進むたびに切り替わるという処理を作成したいのです
また、元からフォルダ等に画像があり、そこから参照するというやりかたではなく、Pictureboxに反映された画像から取得したいのです。
(理由は別のPCでも動かすことがあるため、必ず参照元の画像があるわけではないからです)
自分は最初 切り替えの仕方が分からず、Pictureboxを切り替える数だけ配置して、表示非表示で呼び出そうと思ったのですが、
多くのPictureboxをフォームに配置してしまうと、ロードの際に処理がとても重くなってしまい、色々調べてみた結果
画像の切り替えのためにPictureboxを大量に配置するのは 処理としてはよくない ということが分かりました
そこで一応自分なりに色々調べて考えて書いてみたソースなのですが、このソースでは なんか違う気がすると思い、
皆さんの力をお借りしたく質問した所存です
ここをこういう風にしたらいい、ここが間違っているなどの指摘をしていただけると凄く助かります
どうか宜しくお願いします
以下 自分が作成した 仮の画像の動的変更処理になります
発生している問題・エラーメッセージ
エラーメッセージ
該当のソースコード
1.まず別フォームにPictureboxを大量に配置します
2.次にメインのロードに以下の処理を記述します
'初回起動かどうかの判断↓
IF Not File.Exists(IMAGE_Check) Then
'画像の生成処理↓
ImageCreate()
End If
3.画像ファイルを生成します ↓Pictureboxを大量に記述したフォームに記述しています
■補足
FileFiled '画像を生成する場所を指定しています(モジュール内にPublicで定数宣言しています)
Frm_ImageFiled 'Pictureboxを大量に配置しているフォームの名前です
Public Sub ImageCreate()
Frm_imageFiled_1.Image.save(FileFiled & "ImageData_1",systerm.Drawing.imaging.ImageData_1.png)
’画像の生成処理は初回のみでいいのでここでチェックするためのデータを作っています↓
Dim Check As FileStream = File.create(IMAGE_Check)
End sub
4.クラスにデータを保管
Public Class imageData
Private BMP_1 As New System.Drawing.Bitmap(FileFiled & "ImageData_1")
Public Property _Bmp_1() As System.Drawing.Bitmap Get Return _Bmp_1 End Get Set(value As System.Drawing.Bitmap) End Set End Property Private Sub imageData() BMP_1 = _Bmp_1
End Sub
End Class
5.画像の読み込み
Dim ImageData_ = New ImageData
with ImageData_
Format_1.image = ._Bmp_1 'Format_1は表示するPictureboxの名前です
End With
補足情報)
こんな感じで作り 一応処理はできたのですが、自分の完全な自己流かつ処理がこれでもまだ少し重いです
改善点をお願いします
また、説明で分かりにくいところがたぶんというより絶対にあると思うので、もしありましたら
追記しますので、宜しくお願いします
※すみません 少しだけ質問に捕捉します
今回 自分が一番やりたい処理が別のPictureboxにimageとして既に代入されている画像を別のPictureboxに表示させるという処理です
一番 知りたい処理の部分が抜けていました、、申し訳ない

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2018/10/10 23:02
2018/10/11 00:39
2018/10/11 00:51
退会済みユーザー
2018/10/11 01:35
2018/10/11 01:46
退会済みユーザー
2018/10/11 03:02