javascript仿qq签名

javascript仿qq签名

添加时间:2021-01-28 19:41:34
站长推荐丨赞助论坛,可获取海量资源终身免费下载权限奥!
举报 举报
收藏
预览
附件 附件
  • 模板类型模板类型:jQuery插件
  • 模板颜色模板颜色:高级
  • 下载积分下载积分:28 米粒
  • 下载权限下载权限:

    赞助会员

今天我们用javascript讲解如何使用不同背景生成不同签名,下一节我们讲述如何手动绘制签名。
javascript仿qq签名
分类:其它特效 > jQuery插件 难易:高级

HTML

首先我们放置一个自定义签名内容的输入框、背景图片下拉选择、生成签名的按钮、下载按钮及画布canvas

<canvas id="mycanvas" width="780" height="512"></canvas>
内容:<input type="text" id="mytxt1" value="HTML5TRICKS" />
文字背景图:<select id="dbg">
    <option value="bg4.png">bg4.png</option>
    <option value="bg5.png">bg5.png</option>
</select>
<input type="button" id="send" value="生成签名档" />
<a class="btn" id="imgdownload">下载图片</a>

javascript

var mycanvas = document.getElementById("mycanvas");
var mytxt1 = document.getElementById("mytxt1");
var dbg = document.getElementById("dbg");
var imgdownload = document.getElementById("imgdownload");
var ctx = mycanvas.getContext("2d");

var bg = new Image();
var bg2 = new Image();
bg.src = 'imgs/bg3.png';
bg2.src = 'imgs/bg4.png';

bg2.onload = ShowImg;

function ShowImg() {
    bg2.src = 'imgs/' + dbg.value;
    ctx.drawImage(bg, 0, 0, mycanvas.width, mycanvas.height);
    ctx.save();
    var fpadd = 200; //规定内间距
    var fsz = Math.ceil((mycanvas.width - fpadd * 2) / mytxt1.value.length); //根据字数计算字体大小
    ctx.font = fsz + "px hychf";
    var tw = ctx.measureText(mytxt1.value).width; //文字真实宽度
    var ftop = (mycanvas.height - fsz) / 2 - 30; //根据字体大小计算文字top
    var fleft = (mycanvas.width - tw) / 2 + 16; //根据字体大小计算文字left
    ctx.textBaseline = "top"; //设置绘制文本时的文本基线。
    var woodfill = ctx.createPattern(bg2, "repeat"); //设置图片为笔刷
    ctx.fillStyle = woodfill;
    ctx.shadowBlur = 10; //阴影程度
    ctx.shadowOffsetX = 20;
    ctx.shadowOffsetY = 20;
    ctx.shadowColor = "rgba(0,0,0,1)";
    ctx.fillText(mytxt1.value, fleft, ftop);
    ctx.lineWidth = 1;
    ctx.strokeStyle = "rgba(255,255,255,0.4)";
    ctx.strokeText(mytxt1.value, fleft, ftop);
    ctx.restore();

}

document.getElementById("send").onclick = ShowImg;
imgdownload.onclick = function() {
    if (!mytxt1.value) {
        alert('请输入内容');
        return false;
    }
    this.href = mycanvas.toDataURL();
    this.target = "_blank";
    this.download = mytxt1.value + ".png";
}
相关内容推荐
资源求助发帖
查看更多发帖

*

回帖描述:

*

链接类型:

*

下载链接:

密码:
发帖规则:回帖内容为会员之间的私信,普通网友无法查看。
免责声明:回帖中提供的链接内容仅供会员之间学习参考使用,获取内容后请在法律法规范围内使用。回帖提供的内容应符合法律法规要求,不得违反法律法律的要求。
站点权责:回帖内容如违反法律法规,站点有权封停账号使用权利。对用户举报的内容,站点有责任及时删除违规内容。
热点内容推荐
标题:javascript仿qq签名

*

描述:
平均回复时间:3-10分钟
规则介绍:悬赏寻求论坛网友分享资源,站点对分享内容的准确性,合法性,版权等没有足够的监管能力。如果您发现资源不正确,无法使用,不符合法律法律等情况,您可以直接举报资源。站长将尽快核实您的举报,并根据情况,采取封号,退换米粒等处理。

*

回帖描述:

*

链接类型:

*

阅读权限:

*

下载链接:

密码:
发帖规则:回帖内容为会员之间的私信,普通网友无法查看。
免责声明:回帖中提供的链接内容仅供会员之间学习参考使用,获取内容后请在法律法规范围内使用。回帖提供的内容应符合法律法规要求,不得违反法律法律的要求。
站点权责:回帖内容如违反法律法规,站点有权封停账号使用权利。对用户举报的内容,站点有责任及时删除违规内容。
  • 背景波浪
  • 背景波浪
  • 波浪
  • 波浪
客服
在线咨询
周一 至 周日 9:00 ~ 22:00
QQ:1326974360
微信:juyoubuluo6688
客服热线
18205485173
工作日 9:00 ~ 18:00
微信扫码咨询
客户服务
欢迎咨询服务
咨询量较多时,请耐心等待
社群

关注公众号

获取更多资讯

扫码进群(QQ)

与更多大牛交流沟通

0.125385s