C# 图片浏览器(源码),可统计图片数量,选择要加载的图片格式,图片显示方式
C# 图片浏览器(源码):
1.可统计文件夹内图片数量。
2.选择要加载的图片格式(.JPG .PNG .GIF .BMP)。
3.图片显示的方式:
(1.)居中默认大小显示
(2.)拉伸收缩大小显示
(3.)比例收缩大小显示
(4.)左上默认大小显示
主要使用的代码:
info.cs静态类包含:
using System.Collections.Generic; namespace 图片查看浏览器 { public static class info { public static AMain _a;//用于获取主窗体 public static string _path = @".\";//路径 public static bool _count;//是否统计图片数量 public static string _format = "";//图片格式字符串。用于分割。 public static string[] _formatArr;//分割后的保存 图片格式 数组。 public static List<string> _photo = new List<string>();//图片泛型 public static int _num = -1;//用于保存图片泛型的 下标 。 public static int _cmbNum = 0;//图片显示方式 } }
判断是否统计图片个数 和 图片格式:
private void PicFormat()//判断是否统计图片个数 和 图片格式 { #region 判断是否统计图片个数 和 图片格式 if (rbYes.Checked)//判断 单选框是否选中 { info._count = true; } else if (rbNo.Checked)//判断 单选框是否选中 { info._count = false; } if (cbJPG.Checked)//判断多选框 是否选中 { info._format += ".JPG|"; } if (cbPNG.Checked)//判断多选框 是否选中 { info._format += ".PNG|"; } if (cbGIF.Checked)//判断多选框 是否选中 { info._format += ".GIF|"; } if (cbBMP.Checked)//判断多选框 是否选中 { info._format += ".BMP|"; } #endregion }
判断文件夹内是否有图片:
private void GetPic()//判断文件夹内是否有图片 { #region 判断文件夹内是否有图片 string[] allPath = Directory.GetFiles(info._path);//获取文件夹内的文件 info._formatArr = info._format.Split(new char[] { '|' }, StringSplitOptions.RemoveEmptyEntries);//获取文件扩展名 foreach (var p in allPath)//遍历获取的文件 { foreach (var f in info._formatArr)//遍历 选择的图片格式 { if (f.ToLower() == p.Substring(p.LastIndexOf('.')).ToLower())//判断 选择的图片扩展名是否和获取的文件扩展名相同 { info._photo.Add(p);//相同则添加到数组中。 } } } if (info._photo.Count <= 0)//判断数组内是否有数据。为真表示没图片 { if (MessageBox.Show("当前文件夹内没有您选中的图片格式,请重新选择.\r\n仅支持 .JPG .PNG .GIF .BMP 格式。", "文件夹内无图片!", MessageBoxButtons.OK, MessageBoxIcon.Error) == DialogResult.OK)//判断是否点击消息框的OK按钮 { info._format = "";//恢复默认值 info._photo.Clear();//清空数组 info._num = -1;//恢复默认值 return; } } else//为假,则说明有图片。 { info._num = 0;//有图片则将 _num 赋值为0,在数组中为第一张图片地址的索引数 BMain B = new BMain();//实例话 窗体 this.Hide();//隐藏当前窗体 B.Show();//显示B窗体 } #endregion }
选择图片框显示类型:
#region 选择图片框显示类型 switch (info._cmbNum)//判断下拉框的值 { case 1: pbphoto.SizeMode = PictureBoxSizeMode.StretchImage;//拉伸收缩大小显示 break; case 2: pbphoto.SizeMode = PictureBoxSizeMode.Zoom;//比例收缩大小显示 break; case 3: pbphoto.SizeMode = PictureBoxSizeMode.AutoSize;//左上默认大小显示 break; case 0: default: pbphoto.SizeMode = PictureBoxSizeMode.CenterImage;//居中默认大小显示 break; } #endregion
下一张 按钮 单击事件:
private void btnX_Click(object sender, EventArgs e)//下一张 按钮 单击事件 { info._num++;//图片数组索引数+1 if (info._num < info._photo.Count)//判断 图片索引数是否小于 图片数组最大索引数 { pbphoto.Image = Image.FromFile(info._photo[info._num]);//如果小于 则显示图。 } else { info._num = 0;//如果大于图片数组最大索引数,则图片索引数 为0 (第一张图片) pbphoto.Image = Image.FromFile(info._photo[info._num]);//显示第一张图片 } }
输出结果:
如需本软件完整源码请留言!仅限学习交流使用!