图片加水印 图片验证码

图片加水印

1   获取这张图片

System.Drawing.Image img = System.Drawing.Image.FromStream(FileUpload1.FileContent);

2 给图片加水印

 Graphics g = Graphics.FromImage(img);        

string s = "WWW.ITNBA.COM";         s 给图片加的水印文字

Font f = new Font("微软雅黑", 30);        

Brush b = new SolidBrush(Color.Red);        

PointF pf = new PointF(50, 50);

        g.DrawString(s, f, b, pf);

 

3 保存这张图

string path = "Uploads/" + DateTime.Now.ToString("yyyyMMddhhmmssms") + FileUpload1.FileName;

       

img.Save(Server.MapPath(path));        

Image1.ImageUrl = path;

 

网页保存这张图回事aspx格式   将后缀改成png格式即可查看图片

 

小知识 :  图片转换成txt格式 会出现乱码  在乱码下方添加 文字 再转换成jpg个是不会影响图片

 

图片格式的验证码

 List<Color> clist = new List<Color>();
        clist.Add(Color.Red);
        clist.Add(Color.Firebrick);
        clist.Add(Color.LawnGreen);
        clist.Add(Color.Goldenrod);
        clist.Add(Color.Cyan);
        clist.Add(Color.DarkSlateBlue);
        clist.Add(Color.Indigo);
        Random r = new Random();
        string s = "";
        string all = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmeopqrstuvwxyz0123456789";
        for (int i = 0; i < 4; i++)
        {
            s += all.Substring(r.Next(0, all.Length), 1);
        }

        Session["YZM"] = s;

        Bitmap img = new Bitmap(120, 60);

        Graphics g2 = Graphics.FromImage(img);
        Brush b2 = new SolidBrush(clist[r.Next(0, clist.Count)]);
        g2.FillRectangle(b2, 0, 0, 120, 60);

        Graphics g = Graphics.FromImage(img);
        Font f = new Font("微软雅黑", 30);
        Brush b = new SolidBrush(Color.Red);

        g.DrawString(s, f, b, new PointF(0, 0));


        for (int i = 0; i < 8; i++)
        {
            Graphics g3 = Graphics.FromImage(img);
            Pen p3 = new Pen(new SolidBrush(clist[r.Next(0, clist.Count)]), r.Next(2, 5));
            g3.DrawLine(p3, new Point(r.Next(0, 120), r.Next(0, 60)), new Point(r.Next(0, 120), r.Next(0, 60)));
        }


        img.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Png);
图片后台

前台验验证 验证码
var a = 0;
    document.getElementById("yzm1").onclick = function () {
        this.src = "yzm.aspx?a=" + a;
        a++;
    }

 

点击图片  切换验证码    方正验证码 图片重复  打开的验证码图片 传个值  这个值用不到

就可以实现  图片 无限刷新

 

toUpperCase  实现验证码大小写转换

 

转载于:https://www.cnblogs.com/v587yy/p/6971356.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在uniapp中,可以使用uni-app插件来实现拍照图片水印的功能。下面是一个示例代码: ```javascript // 引入uni-app插件 import watermark from '@/uni_modules/watermark/watermark.js' // 拍照并水印 uni.chooseImage({ count: 1, sourceType: ['camera'], success: function (res) { // 获取拍照的图片路径 const imagePath = res.tempFilePaths[0] // 水印图片 const watermarkImage = new Image() watermarkImage.src = '/static/watermark.png' watermarkImage.onload = function () { // 创建canvas const canvas = document.createElement('canvas') const ctx = canvas.getContext('2d') // 设置canvas的宽高与图片一致 canvas.width = watermarkImage.width canvas.height = watermarkImage.height // 绘制原始图片 const image = new Image() image.src = imagePath image.onload = function () { ctx.drawImage(image, 0, 0, canvas.width, canvas.height) // 绘制水印图片 ctx.drawImage(watermarkImage, 0, 0, canvas.width, canvas.height) // 将canvas转换为图片路径 const resultImagePath = canvas.toDataURL('image/jpeg') // 保存图片 uni.saveImageToPhotosAlbum({ filePath: resultImagePath, success: function () { uni.showToast({ title: '图片保存成功' }) }, fail: function () { uni.showToast({ title: '图片保存失败', icon: 'none' }) } }) } } } }) ``` 这段代码首先使用`uni.chooseImage`方法拍照获取图片路径,然后使用`canvas`绘制原始图片水印图片,最后将绘制好的图片保存到相册中。你可以根据自己的需求修改水印图片的路径和样式。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值