• ベストアンサー

pictureboxに表示した画像のファイル名を取得したい。

PictureBox1.image=image.fromfile("c:\a.jpg") のように画像を表示したピクチャーボックスの ファイル名c:\a.jpgを取得するには どのように書いたら良いでしょうか。 VB.NETでございます。m(__)m

質問者が選んだベストアンサー

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

PictureBox にはその画像のファイル名の情報は残っていないと思います。

popopompom
質問者

お礼

お返事ありがとうございます。 そうですか。 ややこしくなるかと思ったので、その都度取得しようと おもったのですが、 素直に変数に入れておくようにしたいと思います。

関連するQ&A

  • vb2003.netでpicturebox に画像を表示させるにはどう

    vb2003.netでpicturebox に画像を表示させるにはどう vb2003.netでpicturebox に画像を表示させるにはどうするのですか。 picturebox に画像を表示させるにはどうするのですか。 momo1.jpgの画像を一度変数gaに記録してからpictureboxに表示させようとしました。 うまくいきません。どこが間違っているのでしょうか。pictureboxのプロパティーもいろいろ変更しましたが結局はだめでした。 Module Module1    Public ga As String End Module Public Class Form1 Inherits System.Windows.Forms.Form     ga = "momo1.jpg"     PictureBox1.Image = System.Drawing.Image.FromFile("c:\vbnet\cai\ga") End Sub End Class 投稿日時 - 2010-09-17 20:40:44

  • 挿入されている画像をクリアする(VB.2003)

    VB.NET2003 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'ピクチャーボックス1~2のイメージをクリア For Each picBox As PictureBox In New PictureBox() {PictureBox1, PictureBox2} picBox.Image = Nothing Next 'ピクチャーボックス3~4にイメージを設定 PictureBox3.Image = Image.FromFile("C:\image03.jpg") PictureBox4.Image = Image.FromFile("C:\image04.jpg") End Sub Private Sub PictureBox3to4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox3.Click, PictureBox4.Click For Each picBox As PictureBox In New PictureBox() {PictureBox1, PictureBox2} If picBox.Image Is Nothing Then picBox.Image = sender.Image Exit Sub End If Next End Sub 上記は、ピクチャーボックス3~4のどれかが押されるとピクチャーボックス1に押された画像が挿入され、 次にピクチャーボックス3~4のどれかが押されると次はピクチャーボックス2に押された画像が挿入されるプログラムなのですが、 ボタン1を押すと、元に戻す「ピクチャーボックス1、2に挿入されている画像があればクリアする」プログラムを 作りたいのですが、サッパリ分かりません。 どなたかご教授願います┏○

  • どこにどの画像が入ったか判定してくれるプログラム(VB.NET2003)

    VB.NET2003 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'ピクチャーボックス1~2のイメージをクリア For Each picBox As PictureBox In New PictureBox() {PictureBox1, PictureBox2} picBox.Image = Nothing Next 'ピクチャーボックス3~4にイメージを設定 PictureBox3.Image = Image.FromFile("C:\image03.jpg") PictureBox4.Image = Image.FromFile("C:\image04.jpg") End Sub Private Sub PictureBox3to4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox3.Click, PictureBox4.Click For Each picBox As PictureBox In New PictureBox() {PictureBox1, PictureBox2} If picBox.Image Is Nothing Then picBox.Image = sender.Image Exit Sub End If Next End Sub 上記は、ピクチャーボックス3~4のどれかが押されるとピクチャーボックス1に押された画像が挿入され、 次にピクチャーボックス3~4のどれかが押されると次はピクチャーボックス2に押された画像が挿入されるプログラムなのですが、 あるカードゲームの役判定をするため、どこにどの画像が挿入されたか判定するプログラムを作りたいのですが、 (例えば、ピクチャーボックス1にピクチャーボックス3の画像が挿入されているのなら「1-3」、4なら「1-4」です。と出力する) 難しすぎて全く分かりません・・・。  どなたかご教授願いします┏○

  • 一度PictureBoxに表示させたファイルを削除したい(VB2005)

    VB2005の質問です。 一度PictureBoxに表示させたファイルを削除したいと考えています。 例 --------------------------------------------------------   Private FileName As String = "C:\パス"      'パス名   '画像の表示   Sub foo()     PictureBox1.Image = Image.FromFile(FileName)   End Sub   'ファイルの削除   Sub bar()     PictureBox1.Image = Nothing     System.IO.File.Delete(FileName)    'a)エラー発生。削除できない   End Sub -------------------------------------------------------- 上記のコードですと(a)の箇所でエラーが発生します。エラー内容は、「別のプロセスで使用されているためファイルにアクセスできません」、というものです。 このファイルを削除するには、どのような処理が必要でしょうか。 以上、どうぞよろしくお願い致します。

  • VB2010 DBから値取得→パス指定で画像表示

    VB2010でPictureBoxを使用してデータベースから値を取得して PictureBox1.Image =System.Drawing.Image.FromFile("取得した値" & ".jpg") という形でPictureBoxに画像を表示させたいのですが FileNotFoundExceptionはハンドルされませんでした。とエラーが出てできません。 Dim command As SqlClient.SqlCommand = connection.CreateCommand() connection.Open() Dim dr As SqlClient.SqlDataReader command.CommandText = "SELECT s_code FROM テーブル名 ORDER BY s_code" dr = command.ExecuteReader() PictureBox1.Image =System.Drawing.Image.FromFile("..\..\pict" & "dr(s_code)" & ".jpg") データベースのs_codeとpictのフォルダ内にあるパスは一緒です。

  • comboBoxのファイル取得とPictureBoxで画像表示

    質問です。 ローカル(例:C:\Program Files\Test\1.jpg)等の中身(1.jpg)を、 取得してその取得した物をComboBoxの中で表示 そして表示されたComboBoxをクリックして取得した1.jpgを クリックするとPictureBoxに表示する。 "1.jpg","2.jpg","3.jpg"が複数有る場合は、 Private Sub Button1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button4.Click '上記でもいいが下記の方法が MSDN でも紹介されています。 '最初にイメージによって使用されているメモリを解放してから、グラフィックを消去します With PictureBox1 If Not (.Image Is Nothing) Then .Image.Dispose() .Image = Nothing End If End With End Sub と明記してPictureBoxの中身を消して ComboBoxで取得された2.jpgを読込む この様なソースコードを書きたいのですが、 ComboBoxにどの様に書けば良いのか困ってます。 どうか教えて下さい。 Form1で作る予定です。

  • ピクチャーボックスの画像が欠けてしまいます。

    VB.NETとWinXPなのですが、 コマンドボタンを押して、ファイルダイアログボックスを開いて jpgファイルを指定するとピクチャーボックスにその 画像が表示されるようなものをつくっているのですが、 ピクチャーボックスの上に出るファイルダイアログボックスが重なっていた部分だけ画像が欠けてしまいます。 Picturebox1.Refresh()かなと思って試してみたのですが、今度は全部消えてしまいました。 良い方法があったら教えて頂きたいです。 よろしくお願いします。

  • C#を勉強していて、指定したフォルダから画像を読み込んでピクチャボック

    C#を勉強していて、指定したフォルダから画像を読み込んでピクチャボックスに次々と表示するスライドショーを作っています。 それで次のように作りました。 string[] files = System.IO.Directory.GetFiles(@"c:\test\", "*.jpg");  foreach (string file in files)  {   pictureBox1.Image = Bitmap.FromFile(file);   this.pictureBox1.SizeMode = PictureBoxSizeMode.Zoom; Thread.Sleep(1000);  } しかしこれではフォルダの最後の画像しか表示されません。 この場合次々と画像を表示するにはどうしたらいいか教えてください。

  • C# PictureBoxで使用した元画像を削除できない

    現在PictureBoxに表示させた画像を、PictureBoxを定義しているFormを閉じた瞬間削除しようと考えています。 例) メインFormからPictureBoxを定義しているSubFormを表示します。 PictureBoxに、ローカルマシンにある任意のファイルをImageとして表示させます。 pictureBox1.Image = Image.FromFile(@"C:xxx.jpg"); このFormを閉じた後、PictureBoxで表示していたファイルを削除したいのですが、「他のユーザが使用しているため、削除できません」というエラーが発生して削除が実行できません。 ガベージが実行されていないからか?と考え、Formを閉じるときに以下の処理を行いました。 pictureBox1.Image = null; pictureBox1.Dispose(); それでも結果は変わりませんでした。 メインFormからサブFormとして行った場合のみ、本現象が発生します。 メインFormが閉じられれば、その直後からファイル削除を実行できます。 どうか、よろしくお願いいたします。

  • PictureBoxの画像の表示方法を教えて VB.NET

    VB.NET2003環境なのですが、 ピクチャーボックスに画像を表示したいのですが、 下記のようなことはできるでしょうか? ピクチャーボックスの大きさ640*240で固定 画像ファイル640*480 だった場合に、画像を縮小して、横長のピクチャーボックスの 中央に(左右に余白をつける)画像ファイルを表示したいです。 ピクチャーボックス自体の大きさを変える方法などは分かったのですが、 表示前にファイルの画像のサイズを小さくして、位置を指定して 表示する方法がわからないので、このようなことができましたら、 方法をご教示頂きたいです。 よろしくお願い致します。

専門家に質問してみよう