HttpPostedFileBase上传图片添加图片水印

private static void AddWatermark(HttpPostedFileBase curFile, string fileExt, string filePhysicalPath, string saveName)
        {
            Image image = Image.FromStream(curFile.InputStream);
            Bitmap b = new Bitmap(image.Width, image.Height, System.Drawing.Imaging.PixelFormat.Format24bppRgb);
            Graphics g = Graphics.FromImage(b);
            g.Clear(Color.White);
            g.DrawImage(image, 0, 0, image.Width, image.Height);


            System.Drawing.Image watermark = new Bitmap(@"D://1.png");


            System.Drawing.Imaging.ImageAttributes imageAttributes = new System.Drawing.Imaging.ImageAttributes();
            System.Drawing.Imaging.ColorMap colorMap = new System.Drawing.Imaging.ColorMap();
            colorMap.OldColor = Color.FromArgb(255, 0, 255, 0);
            colorMap.NewColor = Color.FromArgb(0, 0, 0, 0);
            System.Drawing.Imaging.ColorMap[] remapTable = { colorMap };
            imageAttributes.SetRemapTable(remapTable, System.Drawing.Imaging.ColorAdjustType.Bitmap);


            int xpos = 0;
            int ypos = 0;


            xpos = ((image.Width - watermark.Width)) - ((image.Width - watermark.Width)) / 2;//水印位置
            ypos = image.Height - watermark.Height - (image.Height - watermark.Height) / 2;//水印位置


            g.DrawImage(watermark, new Rectangle(xpos, ypos, watermark.Width, watermark.Height), 0, 0, watermark.Width, watermark.Height, GraphicsUnit.Pixel, imageAttributes);


            watermark.Dispose();
            imageAttributes.Dispose();




            //保存加水印过后的图片,删除原始图片
            Random ro = new Random((int)DateTime.Now.Ticks);
            string temppath = System.DateTime.Now.ToString("yyyy") + "\\" + System.DateTime.Now.ToString("MMdd");
            string fileName = DateTime.Now.ToString("yyyyMMddHHmmss") + ro.Next(10000) + ".jpg";
            string filepath = System.IO.Directory.GetCurrentDirectory();
            b.Save(filePhysicalPath + saveName + fileExt);
            b.Dispose();
            image.Dispose();
        }
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值