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

来源:互联网 发布:网络棋牌输赢原理 编辑:程序博客网 时间:2024/03/29 14:47

 /// <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);

原创粉丝点击