234 发表于 2014-2-15 13:37:27

关于读取图片并显示的问题

各位高手,我问下怎样在C#里实现使用浏览文件夹功能获取图片路径,并使用picturebox将图片显示的功能,我是个新手,请大家多多指点,谢谢!
附上我的错误代码:
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;

namespace 图片浏览器
{
    public partial class Form1 : Form
    {
      public Form1()
      {
            InitializeComponent();
      }



      private void button1_Click(object sender, EventArgs e)
      { FileStream fs = new FileStream(folderBrowserDialog1.SelectedPath, FileMode.Open);


            try
            {



                int i = (int)fs.Length;
                imageList1.Images = System.Drawing.Image.FromStream(fs);
                int a = 0;
                pictureBox1.Image = imageList1.Images;
                a++;
                if (a >= i)
                {
                  a = 0;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            finally
            { fs.Close(); }

      }


      private void button2_Click(object sender, EventArgs e)
      {

            folderBrowserDialog1.ShowDialog();

      }
    }
}

ibcadmin 发表于 2014-2-15 17:41:10

不用这么麻烦
第一步: 获取选择的图片地址 string path = folderBrowserDialog1.SelectedPath()
第二步:把图片给picturebox      pictureBox1.Image = Image.FileName(path);

234 发表于 2014-2-15 20:21:58

ibcadmin 发表于 2014-2-15 17:41
不用这么麻烦
第一步: 获取选择的图片地址 string path = folderBrowserDialog1.SelectedPath()
第 ...

可是我把代码加进去后发现有一个FileNotFoundException,我的代码是这样的:   private void button1_Click(object sender, EventArgs e)
      { int i = 0;
            string s = folderBrowserDialog1.SelectedPath;


            imageList1.Images.Add(Image.FromFile (s ));
            pictureBox1.Image = imageList1.Images;
            i++;
            if (i >= imageList1.Images.Count)
            {
                i = 0;
            }
               
      
      },我没有在Image这个类里发现filename这样的属性,打扰了,抱歉!

ibcadmin 发表于 2014-2-16 17:33:37

不需要imageList1   直接pictureBox1.Image = Image.FileName(path);

234 发表于 2014-2-16 21:51:29

ibcadmin 发表于 2014-2-16 17:33
不需要imageList1   直接pictureBox1.Image = Image.FileName(path);

不好意思,它总是报错说路径有问题,可能是因为folderBowserDialog选择的路径总是图片的上一级路径,怎么完善这个路径或者使用语法实现路径下搜索指定格式的图片呢?
页: [1]
查看完整版本: 关于读取图片并显示的问题