您的位置:首页 > 其它

生成缩略图,图片水印文字即学即用

2010-09-06 15:43 260 查看
/// <summary>
/// 生成缩略图
/// </summary>
/// <param name="myStream">得到的流文件对象</param>
/// <param name="uploadPath">保存的路径</param>
/// <param name="picName">上传的图片的文件名</param>
public void ToImage(System.IO.Stream myStream, string uploadPath, string picName)
{
//得到图片的后缀名
string suffix = picName.Substring(picName.LastIndexOf("."));
//缩略图的保持路径
string fileXltPath=uploadPath+"//"+picName.Replace(suffix,"X"+suffix);
//保存图片文字水印图的路径
string fileWPath=uploadPath+"//"+picName.Replace(suffix,"W"+suffix);
//创建一个图片对象,获得上传图片的对象 一步 上传一个图片的流对象 注意是 FromStream,不是FileStream
System.Drawing.Image myImage = System.Drawing.Image.FromStream(myStream, false);
//生成缩略图 二步
System.Drawing.Image thum = myImage.GetThumbnailImage(myImage.Size.Width / 4, myImage.Size.Height / 4, null, System.IntPtr.Zero);
//保存缩略图 三步
thum.Save(fileXltPath);
//释放资源
thum.Dispose();
//=========在图片上绘制文字就想写验证码一样的把字符串写到图片上去=======
//既然要在图片上写文字或写字符串就相当于写验证码,则就要操作画布
Graphics g = Graphics.FromImage(myImage);
//操作图片
g.DrawImage(myImage, 0, 0, myImage.Size.Width, myImage.Size.Height);
Font f = new Font("隶书", 80);
//定义字体颜色,纹理
System.Drawing.Brush b = new SolidBrush(System.Drawing.Color.Red);
g.DrawString("金培龙***", f, b, 50, 80);
g.Dispose();
myImage.Save(fileWPath);
}

////////调用此方法:

//生成缩略图并保存:图片文件流,图片的保存路径,图片文件名
ToImage(FileUpload1.PostedFile.InputStream, uploadPath, name);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐