在c#程序开发中,相疙熳阊涓信很多同行们都碰到过图片压缩,生成缩略图的操作,比如产品的图片,会员的照片殪讧唁跬等等功能。为了满足此类操作今天给大家介绍ImageUtility类,该类几乎实现了常规网站开发图片处理的功能,比如按大小生成缩略图,指定位置和大小裁剪,以前给图片添加 文字或图片水印等。所有详细介绍在下面的注释里已经标识的很清楚了,在此不在多说。
工具
vs2008方法
创建项目,见图:
添加界面控件,按照自己的喜好排列,需要添加的控件如下:“OpenFileDialog”“picturebox”四个“button”。
接下来是代码添加,首先添加"using System.IO;"引用,因为我们需要操作文件,只要是需要操作文件,基本都要用引用这个。
添加三个变量
private int ImageCount;
private List<string> ImagePaths = new List<string>();
private int nowCount = 0;
这几个变量是为下一张图片这个功能调用的。
在第一个打开图片“button”中添加如下代码:
if (DialogResult.OK == openFileDialog1.ShowDialog())
{
pictureBox1.Image = Image.FromFile(openFileDialog1.FileName);
foreach (string Path in Directory.GetFiles(System.IO.Path.GetDirectoryName(openFileDialog1.FileName)))
{
ImagePaths.Add(Path);
}
if (ImagePaths.Count != 0)
{
ImageCount = ImagePaths.Count;
}
}
这段代码的大概意思为:调用openFileDialog打开文件,并且将文件路径提交给pictureBox显示,还有就是给下一张图片调用的部分代码。
在下一张的“button”中添加如下代码:
if (nowCount < ImageCount)
{
this.pictureBox1.Image = Bitmap.FromFile(ImagePaths[nowCount]);
nowCount++;
}
这段代码的一位为,获取下一张显示图片,并且在“pictureBox”控件中显示出来。
在旋转90的“button”中添加代码:http://www.fulinmenst.com/yanwo/index.html
this.pictureBox1.Image.RotateFlip(RotateFlipType.Rotate90FlipNone);
this.pictureBox1.Refresh();
代码意思为,将当前图片旋转90度,在刷新显示。
在这一步,基本完成了我们对图片查看的基本需求,见效果图。
注意事项
本示例代码只是粗糙的实现了图片查看的基本功能,如需实际使用,还有很多BUG等待完善。