.net基础-图片文件

·获取上传图片、重命名、创建文件夹保存图片

·获取上传图片及图片信息:

HttpPostedFile file = context.Request.Files[0]; //获取上传的文件

string fileName = Path.GetFileName(file.FileName);  //获取上传文件的名称,                                                                                             包含扩展名

string fileExt = Path.GetExtension(fileName);   //获取用户上传的文件扩展名

string newfileName = Guid.NewGuid().ToString();     //文件重命名

   

string dir = "/ImageUpload/" + DateTime.Now.Year + "/" + DateTime.Now.Month + "/" + DateTime.Now.Day + "/";  //通过日期将上传文件放在不同目录下

//创建文件夹,判断文件夹是否存在,不存在则创建

if (!Directory.Exists(context.Request.MapPath(dir)))

{

    Directory.CreateDirectory(context.Request.MapPath(dir)); //创建文件夹

}

file.SaveAs(context.Request.MapPath(fullDir));  //保存文件

 

  • 对图片的操作

      

       在.ashx中加载图片

      

context.Response.Write("<html><body><img src='" + fullDir + "'></body></html>");

      

       图片添加水印

              思路:

            创建一个和图片文件大小相同的画布

            将图片画到画布上

            在画布上添加要显示的水印及其格式

            将文件保存

              实现:

 

    //获取图片信息
    using (Image img = Image.FromFile(context.Request.MapPath(fullDir)))

    {

    //创建画布

        using (Bitmap map = new Bitmap(img.Width, img.Height))

        {

            //创建画笔

            using (Graphics g = Graphics.FromImage(map))

            {

                //设置高质量插值法

                g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High;


                //设置高质量,低速度呈现平滑程度

                g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;


                //用画笔在画布上画图,从画布左上角开始,将整个图片滑倒画布上。

                g.DrawImage(img, 0, 0, img.Width, img.Height);


                //添加水印-水印内容,字体样式,颜色,位置

                g.DrawString("对方能看到十六分", new Font("黑体", 14.0f, FontStyle.Bold), Brushes.Red, new PointF(map.Width - 100, map.Height - 25));


                //保存为图片

                string waterImageName = "water_" + Guid.NewGuid().ToString();


                //保存为图片,指定图片类型

                map.Save(context.Request.MapPath("/ImageUpload/" + waterImageName + ".jpg"),System.Drawing.Imaging.ImageFormat.Jpeg);


                //显示图片

                                context.Response.Write("<html><body><img src='/ImageUpload/" + waterImageName + ".jpg'/></body></html>");


            }

        }

    }

 

  • 豆腐干
发布了80 篇原创文章 · 获赞 32 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/dopdkfsds/article/details/103595230