JS图片水印(水印图片)

attendanceClick(userID,headImg,userName,company,scoreNmu){letbase64Image=’assets/imagesaring.png’;letbase64Image1=’assets/imagesaring1.png’;letbase64Image2=’assets/imagesar…

大家好,又见面了,我是你们的朋友全栈君。

attendanceClick(userID,headImg,userName,company,scoreNmu) {

let base64Image = ‘assets/imagesaring.png’;
let base64Image1 = ‘assets/imagesaring1.png’;
let base64Image2 = ‘assets/imagesaring2.png’;
let base64Image3 = ‘assets/imagesaring3.png’;
let base64Image4 = ‘assets/imagesaring4.png’;
let base64Image5 = ‘assets/imagesaring5.png’;
//加水印
var canvas = document.createElement(‘canvas’);
var cxt = canvas.getContext(‘2d’);
cxt.fillStyle = ‘green’;
cxt.fillRect(10, 10, 100, 100);
var img = new Image();
if(scoreNmu>=60&&scoreNmu<70){

img.src = base64Image1;
} else if(scoreNmu>=70&&scoreNmu<80){

img.src = base64Image2;
}else if (scoreNmu>=80&&scoreNmu<90){

img.src = base64Image3;
}else if (scoreNmu>=90&&scoreNmu<95){

img.src = base64Image4;
}else{

img.src = base64Image5;
}
if(headImg==null||headImg==”){

headImg = ‘assets/images/0.png’;
}
// switch(scoreNmu){

// case scoreNmu>=60&&scoreNmu<70:
// {

// img.src = base64Image1;
// }
// break;

// case scoreNmu>=70&&scoreNmu<80:
// {

// img.src = base64Image2;
// }
// break;

// case scoreNmu>=80&&scoreNmu<90:
// {

// img.src = base64Image3;
// }
// break;

// case scoreNmu>=90&&scoreNmu<95:
// {

// img.src = base64Image4;
// }
// break;

// case scoreNmu>=95&&scoreNmu<=100:
// {

// img.src = base64Image5;
// }
// break;
// default:
// {

// img.src = base64Image;
// }
// break;
// }
// img.src = base64Image;
img.onload = () => {

var date: string = new Date().toLocaleDateString();
var datetime: string = date;//添加日期
canvas.height = img.height;
canvas.width = img.width;
cxt.drawImage(img,0,0,img.width,img.height,0,0,img.width,img.height);
cxt.save();
cxt.font = 20 + “px Arial”;
cxt.textBaseline = ‘middle’;//更改字号后,必须重置对齐方式,否则居中麻烦。设置文本的垂直对齐方式
cxt.textAlign = ‘center’;
let ftop = 715;
let fleft = 630;
cxt.fillStyle=”#000″;
cxt.fillText(datetime,fleft,ftop);//文本元素在画布居中方式
try {

let tempImage = new Image();
tempImage.onload = () => {

let tempImageX = 180;
let tempImageY = 310;
let tempImageW = 140;
let tempImageH = 140;
cxt.drawImage(tempImage,tempImageX,tempImageY,tempImageW,tempImageH);
// 用户名
let tempTextData = userName;
cxt.save();
cxt.font = 40 + “px Arial”;
cxt.textBaseline = ‘middle’;
cxt.textAlign = ‘left’;
let tempNameX = 360;
let tempNameY = 350;
cxt.fillStyle=”#000″;
cxt.fillText(tempTextData,tempNameX,tempNameY);

// 公司名字
let tempCompanyData = company;
if(this.globalFunction.isNull(tempCompanyData)){

tempCompanyData = ‘平安人寿’;
}
cxt.save();
cxt.font = 40 + “px Arial”;
cxt.textBaseline = ‘middle’;
cxt.textAlign = ‘left’;
let tempCompanyX = 360;
let tempCompanyY = 420;
cxt.fillText(tempCompanyData,tempCompanyX,tempCompanyY);
this.canvasImage = canvas.toDataURL(“image/jpg”);
let tempSrc = this.canvasImage.substring(22);
this.interfaceService.doUpdateRankingPath(userID,tempSrc);
}
tempImage.crossOrigin=”anonymous”;
tempImage.src = headImg;
} catch (error) {

console.log(‘出现错误’+error);
}
}
}

转载于:https://www.cnblogs.com/ChineseLiao/p/7652086.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/128823.html原文链接:https://javaforall.net

(0)
上一篇 2022年4月15日 下午6:00
下一篇 2022年4月15日 下午6:00


相关推荐

  • jmeter发送kafka数据key错误且无法生成时间戳解决方案「建议收藏」

    jmeter发送kafka数据key错误且无法生成时间戳解决方案「建议收藏」前言:最近在做kafka、mq、redis、fink、kudu等在中间件性能压测,压测kafka的时候遇到了一个问题,我用jmeter往kafka发消息没有时间戳,同样的数据我用python发送就有时间戳,且jmeter会自动生成错误的变量key,那我是怎么解决的呢,容我一一道来!一、jmeter怎么往kafka发送数据jmeter往kafka发送数据我之前有写过博客,大家可以参考下,遇到我前言说的问题就可以参考本篇文章二、jmeter生成错误key解决方案我们用了kafka插件后jmeter中引入

    2022年8月31日
    8
  • java缓存设置_缓存数据可以清除吗

    java缓存设置_缓存数据可以清除吗1、@Cacheable(key="#vo.toString()",value="licence")//载入缓存2、@CacheEvict(key="#vo.toString()",value="licence")//清除缓存3、缓存设置在service层生效4、config目录下建ehcache.xml5、ehcache.xml配置如下&lt;ehcachex…

    2022年10月4日
    4
  • c++获取窗口句柄的方法「建议收藏」

    c++获取窗口句柄的方法「建议收藏」1

    2022年7月21日
    17
  • vue中使用定时器setInterval

    vue中使用定时器setIntervalvue中使用定时器setIntervalthis.timer=setInterval(this.fetchData,1000);clearInterval(this.timer);beforeDestroy(){clearInterval(this.timer);},

    2025年6月22日
    9
  • plc梯形图编程入门编程_梯形图编程语言由什么组成

    plc梯形图编程入门编程_梯形图编程语言由什么组成梯形图(LAD)是PLC编程的最佳可视化语言,它看起来非常类似于继电器电路图,因此如果你对继电器控制和电子电路有所了解的话,那么学起来会非常容易!在这个教程中,我们将学习关于使用梯形图进行PLC编程的有关知识。现在,让我们开始吧!什么是梯形图梯形图是一种PLC编程语言,也被称为梯形逻辑(LadderLogic)。之所以称为梯形图,是因为这种程序由一条条水平线构成,看起来很像梯子。梯形…

    2022年10月19日
    3
  • android中ListView的用法[通俗易懂]

    android中ListView的用法[通俗易懂]地址:https://www.cnblogs.com/s-y-j/p/6548032.htmlLisView介绍:(一)、ListView概念:ListView是Android中最重要的组件之

    2022年7月1日
    26

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号