js:用canvas给图片加水印,签名等
JS 图片 Canvas 签名 加水
2023-09-27 14:27:09 时间
场景
实际工作中,我们会遇到给图片加水印的效果,比如给用户颁发电子证书要在证书上写下证书的名字,我们可以使用h5的canvas来解决这个问题。
解决
例子:给证书上显示用户名字并下载
// @params1 cavans的id值
// @params2 图片的url路径
// @params3 要绘制的文字
// @params4 水印位置x,y
function waterMark(canvasid,imgurl,addtext,x,y){
var img = new Image ;
img.setAttribute("crossOrigin",'Anonymous');
var canvas = document.getElementById(canvasid);
var ctx = canvas.getContext("2d");
// ctx.clearRect(0, 0, canvas.width, canvas.height);
// canvas.height=canvas.height;
img.onload = function(){
canvas.style.letterSpacing = '10px';
var _w = img.naturalWidth;
var _h = img.naturalHeight;
canvas.setAttribute('width',_w);
canvas.setAttribute('height',_h);
ctx.drawImage(img,0,0);
ctx.font = "35px 微软雅黑";
ctx.fillStyle = "rgb(218,171,115)";
ctx.fillText(addtext,x,y); //选择位置
var imageSrc = canvas.toDataURL("image/png");
let a = document.createElement("a");
a.href = imageSrc;
a.download = addtext;
a.click();
}
img.src = imgurl;
}
// 调用
waterMark("waterMarkTest","//assets.dxycdn.com/gitrepo/pengyang_2018/dist/images/cre-temp-img.png","张同学",730,555);
关于canvas的插件推荐
相关文章
- js 生成4位随机数及Js知识汇总
- 安装Node.js 以及命令行使用
- 【JS】js创建Object对象和构造函数的多种方法(综合示例)
- [转]客户端js判断文件类型和文件大小即限制上传大小
- 懒加载(js+图片+路由)
- 拥抱 Node.js 8.0,N-API 入门极简例子
- JS随机显示一张图片
- js 图片保存至手机相册
- js 图片转换base64 base64转换为file对象
- Exif.js获取图片的详细信息(苹果手机移动端上传图片旋转90度)
- [js高手之路]深入浅出webpack教程系列9-打包图片(file-loader)用法
- arcgis api 4.x for js 自定义叠加图片图层实现地图叠加图片展示(附源码下载)
- 前端JS利用canvas的drawImage()对图片进行压缩
- 刷题日常计~JS④
- js判断图片是否存在,并做处理
- 2023华为OD机试 - 人数最多的站点(JS)
- Sticker.js生成图片或者页面元素“速干贴”效果
- 想控制GIF图片动画播放吗?试试gifffer.js
- js 实现图片实时预览
- js实现图片实时预览