HTml js 生成图片

<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>
时间: 2024-11-07 16:23:42

HTml js 生成图片的相关文章

js生成图片

var image = new Image(); var c = document.getElementById("myCanvas"); var ctx = c.getContext("2d"); var img = document.getElementById("scream"); ctx.font = "10px Arial"; function createImg(name, zuowei, color) { //

js生成图片验证码

页面代码:(使用到了mui样式) <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" /> <meta http-equiv="Pragma" cont

调用 js 生成图片二维码

一.js 生成二维码: 首先,需要引用 jQuery 和 jquery.qrcode.js.然后: //生产二维码 $("#qrcodeCanvas").qrcode({ render: "canvas", //设置渲染方式,有table和canvas,使用canvas方式渲染性能相对来说比较好 text: location.href, //扫描二维码后显示的内容,可以直接填一个网址,扫描二维码后自动跳向该链接 width: "100", //二

Sticker.js生成图片或者页面元素“速干贴”效果

?在线演示 本地下载 真实的效果,真的非常好玩!

java-pdf转word

注:原文来至 < java-pdf转word   > 一: java Pdf 文字 转 Word 废话不说,直接上图 很简单的用法:1.new个PDFBox对象2.调用pdfToDoc()方法,再传一个参数(文件路径) 最新jar下载地址:链接:https://pan.baidu.com/s/1snqjpSx 密码:jujg  或者加QQ群: 464429490(在群文件中) 二:Java  Pdf 图片表格 转 word 文章来源: < java-pdf转图片 > 很多人反应pd

通过js实现随机生成图片

这次给大家分享一个通过js向HTML添加便签,实现随机代码生成的案例,代码已经放在下方,这里我在下面准备了50张图片,但是没有放在博文中,如果读者想要练习,可以自己下载一些图片,建议下载的多一些. <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8"> <meta name="viewport" content="

js html生成图片

我自己分装好的方法,外链自己去下: /** * !!!使用前请导入jq文件!!! 海报生成, 二维码链接生成 */ document.write('<script src="/Public/static/qrcode.js" type="text/javascript" charset="utf-8"></script>'); document.write('<script src="/Public/sta

js依赖mui.css生成图片验证码

js依赖mui.css生成图片验证码 相关css和js引入路径 https://cdnjs.cloudflare.com/ajax/libs/mui/3.7.1/css/mui.css https://cdnjs.cloudflare.com/ajax/libs/mui/3.7.1/css/mui.min.css https://cdnjs.cloudflare.com/ajax/libs/mui/3.7.1/fonts/mui.ttf https://cdnjs.cloudflare.com/

通过JS将BSAE64生成图片并下载

HTML:<div style="display:block;margin:0 auto;width:638px;height:795px;"><div id="render" >        CONTENT</div></div> <div id="template" style="margin:10px 0 0 385px;"> <input type=&