首页 / HTML / HTml js 生成图片
HTml js 生成图片
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了HTml js 生成图片,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3824字,纯文字阅读大概需要6分钟。
内容图文
< script type ="text/javascript" > function $(id) { return document.getElementById(id); } function textToImg() { var len = $( ‘ len ‘ ).value || 30 ; var i = 0 ; var fontSize = $( ‘ fontSize ‘ ).value || 15 ; var fontWeight = $( ‘ fontWeight ‘ ).value || ‘ normal ‘ ; var txt = $( " txt " ).value; var canvas = $( ‘ canvas ‘ ); if (txt == ‘‘ ) { alert( ‘ 请输入文字! ‘ ); $( " txt " ).focus(); } if (len > txt.length) { len = txt.length; } canvas.width = fontSize * len; canvas.height = fontSize * ( 3 / 2 ) * (Math.ceil(txt.length / len) + txt.split( ‘ \n ‘ ).length - 1 ); var context = canvas.getContext( ‘ 2d ‘ ); context.clearRect( 0 , 0 , canvas.width, canvas.height); context.fillStyle = $( " showcolor " ).innerHTML; context.font = fontWeight + ‘ ‘ + fontSize + ‘ px sans-serif ‘ ; context.textBaseline = ‘ top ‘ ; canvas.style.display = ‘ none ‘ ; console.log(txt.length); function fillTxt(text) { while (text.length > len) { var txtLine = text.substring( 0 , len); text = text.substring(len); context.fillText(txtLine, 0 , fontSize * ( 3 / 2 ) * i ++ , canvas.width); } context.fillText(text, 0 , fontSize * ( 3 / 2 ) * i, canvas.width); } var txtArray = txt.split( ‘ \n ‘ ); for ( var j = 0 ; j < txtArray.length; j ++ ) { fillTxt(txtArray[j]); context.fillText( ‘ \n ‘ , 0 , fontSize * ( 3 / 2 ) * i ++ , canvas.width); } var imageData = context.getImageData( 0 , 0 , canvas.width, canvas.height); var img = $( " img " ); img.src = canvas.toDataURL( " image/png " ); } function changeColor() { var c = $( " text " ); var ctx = c.getContext( " 2d " ); var red = $( " red " ); var green = $( " green " ); var blue = $( " blue " ); ctx.fillStyle = " rgb( " + red.value + " , " + green.value + " , " + blue.value + " ) " ; $( " showcolor " ).innerHTML = ctx.fillStyle; ctx.fillRect( 0 , 0 , 100 , 100 ); // $(‘canvas‘).getContext(‘2d‘).fillStyle=$("showcolor").innerHTML; } </script> < div > < textarea id = " txt " style = " width:450px;height:400px; " > 如果您的长微博字数超过了140个字的限制,在这里输入微博内容,点击右方的“生成图片”,鼠标右击右边“文字”,“图片另存为...”,保存图片后,就可以直接发到微博里了,赶紧试试吧! < / textarea> < / div> < div style = " width:200px;height:100px;float:left;clear:right; " > < table > < tbody > < tr > < td > < label > 字体大小: < / label><input size="4" id="fontSize" value="15" / > px < / td> < / tr> < tr > < td > < label > 字体精细: < / label><select id="fontWeight"> <option value="normal">正常< / option > < option value = " bold " > 粗 < / option> < / select> < / td> < / tr> < tr > < td > < label > 每行显示: < / label><input size="4" id="len" value="40" / > 个字 < / td> < / tr> < tr > < td > < canvas id = " text " width = " 100 " height = " 100 " >< / canvas> < p > Red: < input type = " range " id = " red " min = " 0 " max = " 255 " value = " 0 " onchange = " changeColor(); " / > < / p> < p > Green: < input type = " range " id = " green " min = " 0 " max = " 255 " value = " 0 " onchange = " changeColor(); " / > < / p> < p > Blue: < input type = " range " id = " blue " min = " 0 " max = " 255 " value = " 0 " onchange = " changeColor(); " / > < / p> 目前的颜色: < span id = " showcolor " >< / span> < / td> < / tr> < tr > < td > < button onclick = " textToImg();; " > 生成图片 < / button> < / td> < / tr> < / tbody> < / table> < / div> < canvas id = " canvas " style = " display:block; " >< / canvas> < div > < img id = " img " style = " border:1px solid; " / > < / div> < script > changeColor(); </ script >
原文:http://www.cnblogs.com/zendu/p/4987985.html
内容总结
以上是互联网集市为您收集整理的HTml js 生成图片全部内容,希望文章能够帮你解决HTml js 生成图片所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。