h5 canvas(toDataURL)实现将图片与文字结合
来源:互联网 发布:mac上怎么卸载软件 编辑:程序博客网 时间:2024/05/22 07:07
toDataURL实现将图片与文字结合
基于自己想吹牛皮,所以就临时写了个H5页面。
一、用到的功能点:
1.canvas.toDataURL(type, encoderOptions);
举例说明:<canvas id="canvas" width="10" height="10"></canvas>获取canvas画布var canvas = document.getElementById("canvas");var dataURL = canvas.toDataURL();
2.context.fillText(text,x,y,maxWidth);
参数值
fillText();其默认颜色是黑色。
提示:请使用 font 属性来定义字体和字号,并使用 fillStyle 属性以另一种颜色/渐变来渲染文本。
二、接下来进入代码
HTML
<div class="content">
<div class="inputText">
<div class="mesg">
<p class="title">无人驾驶证</p>
<div class="inputs">姓名:<input id="name" type="text" placeholder="姓名"></div>
<div class="inputs">国籍:<input id="guoji" type="text" placeholder="国籍"></div>
<div class="inputs">驾驶类型:<input id="type" type="text" placeholder="驾驶类型"></div>
<div class="inputs">合格证编号:<input id="number" type="text" placeholder="合格证编号"></div>
<div class="inputs">签发日期:<input id="date" type="text" placeholder="签发日期"></div>
<div class="inputs">有效期限:<input id="youxiao" type="text" placeholder="有效期限"></div>
</div>
<a id="submit" href="#showImg">提交</a>
</div>
<img id="imgs" src="img/card.jpg" class="hide" width="370" height="278">
<div id="showImg" class="hide">
<canvas width="370" height="278" id="canvas"></canvas>
</div>
</div>
CSS
*{margin:0;padding:0}
body{background-color:#e6e6fa;font-family:"microsoft yahei"}
body,html{color:#333;font-size:14px}
.content{width:370px;height:278px;position:relative}
.inputText{width:370px;height:278px;position:absolute;padding-left:20px}
.title{font-size:20px;text-align:center;color:#00f;padding:20px 0}
input{padding:5px;text-decoration:none;margin:10px 0}
.inputs{display:block;margin-top:10px}
#submit{text-align:center;color:#fff;background-color:#428bca;width:200px;height:30px;border-radius:10px;line-height:30px;display:block;margin-top:30px}
.hide{display:none}
#imgs{position:absolute;top:0;width:370px;height:278px}
#canvas{z-index:2;position:absolute}
javascript
$(function(){
$("#submit").click(function(){
var name = $("#name").val();
var guoji = $("#guoji").val();
var types = $("#type").val();
var number = $("#number").val();
var date = $("#date").val();
var youxiao = $("#youxiao").val();
if(name == "" || guoji == "" || types == "" || number =="" || date == "" || youxiao == ""){
alert("请输入信息");
}else{
drawImage(name,guoji,types,number,date,youxiao);
}
});
});
//num1..num6为6个input框val值
function drawImage(num1,num2,num3,num4,num5,num6){
var canvas = document.getElementById("canvas");
var ctx = canvas.getContext("2d");
ctx.font = "microsoft yahei";
var img = document.getElementById("imgs");
ctx.drawImage(img,0,0,370,278);
ctx.fillText(num1, 105,140);
ctx.fillText(num2, 180,140);
ctx.fillText(num3, 128,164);
ctx.fillText(num4, 128,190);
ctx.fillText(num5, 128,215);
ctx.fillText(num6, 213,215);
var downloadImg = canvas.toDataURL("image/png");
var w = window.open("about:blank","image from canvas");
w.document.write('<img src='+ downloadImg +' alt="from canvas">');
$(".inputText").remove();
$("img,#showImg").removeClass("hide");
}
查看DEMO案例
- h5 canvas(toDataURL)实现将图片与文字结合
- 将HTML5 Canvas的内容保存为图片借助toDataURL实现
- 用canvas的toDataURL()将图片转为dataURL(base64)
- canvas-toDataURL()将图片转为dataURL(base64)
- canvas将文字生成图片
- H5 canvas实现客户端压缩图片上传
- H5网页Canvas画布绘图 图片文字合成
- HTML5 Canvas的内容保存为图片toDataURL()
- H5 CSS3 实现文字图片同行居中
- 将企业协作与微信结合,明道打通微信实现从微信到明道的消息分享,目前已支持文字、图片以及链接
- canvas.toDataUrl 画布导出功能(将canvas画板保存为图片格式)!
- 使用h5的canvas实现两张图片的合并
- 长微博图片实现:将文字转成图片
- canvas 图片 文字 合成
- Android与js交互第二步,实现本地拍照选择相册,将图片传给h5页面
- H5 Canvas结合Arcgis JSAPI实现有背景的TextSymbol效果
- html5 canvas 加载图片错误 SecurityError: Failed to execute 'toDataURL' on 'HTMLCanvasElement'
- canvas 执行canvas.toDataURL("image/png"); 出错
- Smalidea无源码调试 android 应用
- Android中使用UncaughtExceptionHandler来处理未捕获的异常
- github 提交不记录Contributions
- Native method not found: com.baidu.platform.comjni.tools.JNITools.GetToken:()Ljava/lang/String;
- Mysql支持的数据类型(总结)
- h5 canvas(toDataURL)实现将图片与文字结合
- Ajax
- Android下常见的内存泄露 经典
- Sql查询死锁的方法
- ubuntu升级php版本
- vs2012 C# 黑盒测试,白盒测试,UI测试
- 问题总结--JSP过大解决方案
- 网络编程学习笔记一:Socket编程
- iOS导入第三方类库常见报警linker command failed with exit code 1 (use -v to see invocation)