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]);//显示第一张图片
}
}输出结果:
如需本软件完整源码请留言!仅限学习交流使用!
