本文实例讲述了C#编程实现简易图片浏览器的方法。分享给大家供大家参考,具体如下:
首先需要加上命名空间 using system.io;
拖一个PICTUREBOX,两个TEXTBOX
string fold = "";//用来存不包含文件后缀名的路径 string[] files;//用来存当前所有统一后缀文件的总路径 int pos=0;//用于图片切换 private void button1_Click(object sender, EventArgs e) { OpenFileDialog of = new OpenFileDialog();//打开“打开文件”对话框 of.Title = "打开图像文件";//命名 of.Filter = "图像文件|*.bmp;*.jpg";//选择文件 if (of.ShowDialog() == DialogResult.OK && of.FileName != "") { int p = of.FileName.LastIndexOf(@"\");//得到斜杠的索引 fold = of.FileName.Substring(0, p + 1);//得到除了文件后缀的(包含斜杠)的路径 FileInfo fi = new FileInfo(of.FileName);//一种io下的实例方法 string ext = fi.Extension;//利用上面的方法取得扩展名 textBox1.Text = of.FileName;//总路径 label1.Text = fold;//不含后缀,这两行代码完全是给读者看的 Image image = Image.FromFile(of.FileName);//实例化一个图片,该图片是你选择的那张图片 pictureBox1.Image = image;//将该图片放入空间内 files = Directory.GetFiles(fold, "*" + ext);//将所有当下文件夹下的图片文件的全路径放在该数组内 } } private void button2_Click(object sender, EventArgs e) { //下一张图片 pos++; if (pos >=files.Length) { pos = 0; } string file = files[pos].ToString(); Image image = Image.FromFile(file); pictureBox1.Image = image; } private void button3_Click(object sender, EventArgs e) { //上一张图片 pos--; if (pos < 0) { pos = files.Length - 1; } string file = files[pos].ToString(); Image image = Image.FromFile(file); pictureBox1.Image = image; }
效果图如下:
问题总结如下:
1. 所有的文件名字都存在数组files里面,按说files[ ]里的元素就固定了。可是,无论先打开哪一张图片,点击下一张后,都可以正确的读出下一张(问题是POS的初值是0,无论打开哪张,下一张的执行命令都会搜索到files[1],可每次打开的图片不同啊,用相同的files[1]怎么还能搜索到自己对应的下一张呢,这个数组到底是咋存的)
解决方案:其实每次的files[1]是不同的,因为的比如你先打开第二张图片,那么第一,二,三,四张图片对应的数组元素应该是files[3],files[0],files[1],files[2];如果先打开第一张图片,那么files[0]应该默认的是第一张图片,files[1]自然就是第二张了(只有这样才能说的通)。
2. 如上图,图片只显示了一部分,并没用显示全,可能是由于控件太小了。
解决方案:为了让图片的显示与PICTUREBOX相符,在button1里加如下语句:
pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;
此外还有个小BUG,如果一共有4张图片,先打开第四张后点击下一张,会出现第二张。原因是POS的初始值是0,再BUTTON2里加1也不过是1,所以选择第四张图片的时候跳转到files[1]也就是第二个图片,这里不知道怎么修改了,有大牛看到了帮忙修复下BUG。
希望本文所述对大家C#程序设计有所帮助。
本文向大家介绍C#简易图片格式转换器实现方法,包括了C#简易图片格式转换器实现方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了C#简易图片格式转换器实现方法。分享给大家供大家参考,具体如下: 在窗体上放一个picturebox,menustrip.在菜单上键入两个按钮,分别为“文件”,“格式”。在“文件”下创建一个子菜单“打开”,name为menuOpen,在“格式”下创建一个子菜单“
本文向大家介绍C#实现图片上传与浏览切换的方法,包括了C#实现图片上传与浏览切换的方法的使用技巧和注意事项,需要的朋友参考一下 本文以一个完整实例讲述了C#实现图片上传与浏览切换的方法,对于进行C#程序设计来说具有一定的借鉴价值。分享给大家供大家参考。 具体实现代码如下: 希望本文实例对大家的C#程序设计有所帮助。
本文向大家介绍Android实现图片浏览器示例,包括了Android实现图片浏览器示例的使用技巧和注意事项,需要的朋友参考一下 本文所述为一个基础的Android图片浏览器代码,是仿写Google原版实现的,代码中实现了主要的实现过程和方法,具体的完善还需要自己添加,代码中有很多注释,可帮助新手们快速理解代码,使用了部分图像资源。 主要功能代码如下: 本文所述仅为其主要功能代码部分,读者可以对其进
本文向大家介绍Android实现简易浏览器遇到问题的解决方法,包括了Android实现简易浏览器遇到问题的解决方法的使用技巧和注意事项,需要的朋友参考一下 最近没事写了一个简易浏览器,在刚开始写的时候遇到一些问题,主要的问题就是如何在自己的webview中显示所有的网页数据,不过不指定自己的webview显示所有网页数据则会调用系统默认的webview来加载数据,所以解决的办法就是用webvie
本文向大家介绍drag-and-drop实现图片浏览器预览,包括了drag-and-drop实现图片浏览器预览的使用技巧和注意事项,需要的朋友参考一下 今天刚试过chrome的drag and drop API,它能非常简单的将本地的图片放到浏览器中进行预览。试想一下当我们把一个文图片拖拽到浏览器里会发生什么事情,你的浏览器试图打开一个新的页面并加载这个图片。现在我不想浏览器这样帮我处理图片,我希
本文向大家介绍Android实现幻灯片式图片浏览器,包括了Android实现幻灯片式图片浏览器的使用技巧和注意事项,需要的朋友参考一下 我们来实现一个幻灯片式图片浏览器: 最下面一个画廊视图,选中画廊中的图片,会在上面的ImageSwitcher控件中显示大图。 效果图如图 实现方法: 在布局文件中添加图片切换控件ImageSwitcher和画廊视图控件Gallery res/layout/mai