• HTML5 Canvas Text实例1


    1.简单实例1

    <canvas width="300" height="300" id="canvasOne" class="canvasOne"></canvas>
    <script>
        var cancasOne = document.getElementById('canvasOne');
        var ctx = cancasOne.getContext('2d');
        ctx.font = 'bold 20px 微软雅黑';
        ctx.fillText('张三丰', 10, 30);
        //创建渐变文字
        ctx.font = "30px Verdana";
        var grandient = ctx.createLinearGradient(0, 0, canvasOne.width, 0);
        grandient.addColorStop('0', "magenta");
        grandient.addColorStop('0.5', 'blue');
        grandient.addColorStop('1.0', 'red');
        //用渐变填色
        ctx.fillStyle = grandient;
        ctx.fillText('tinama3798.cn', 10, 100);
    </script>

    2.实例2:

    <canvas width="301" height="301" id="canvasOne" class="canvasOne"></canvas>
    <script>
        var cancasOne = document.getElementById('canvasOne');
        var ctx = cancasOne.getContext('2d');
        //画参考线
        function drawLine() {
            ctx.save();
            ctx.strokeStyle = 'blue';
            //横线
            ctx.beginPath();
            ctx.moveTo(0, canvasOne.width / 2);
            ctx.lineTo(canvasOne.height, canvasOne.width / 2);
            ctx.stroke();
            //竖线
            ctx.beginPath();
            ctx.moveTo(canvasOne.width / 2, 0);
            ctx.lineTo(canvasOne.width / 2, canvasOne.height);
            ctx.stroke();
            ctx.restore();
        }
        drawLine();
        ctx.font = 'bold 50px 楷体';
        ctx.textAlign = 'center';
        ctx.textBaseline = 'middle';
        ctx.fillText('张三丰', canvasOne.width / 2,
            canvasOne.height / 2);
    </script>

    3.实例3:

    <input id="inputOne"  />
    <canvas width="200" height="200" id="canvasOne" class="canvasOne"></canvas>
    <script>
        var cancasOne = document.getElementById('canvasOne');
        var ctx = cancasOne.getContext('2d');
        //画参考线
        function drawLine() {
            ctx.save();
            var point1 = [5, 5],
                point2 = [5, 195],
                point3 = [195, 5],
                point4 = [195, 195];
    
            //2.画对角线
            ctx.lineWidth = 0.5;
            ctx.strokeStyle = '#b4210f';
            ctx.beginPath();
            moveTo(point1);
            lintTo(point4);
            ctx.stroke();
            moveTo(point2);
            lineTo(point3);
            ctx.stroke();
            ctx.closePath();
            //2.画 内线
            ctx.beginPath();
            var xCenter = (point4[0] - point1[0]) / 2 + point1[0];
            var yCenter = (point4[1] - point1[1]) / 2 + point1[1];
            //横线
            moveTo([point1[0], yCenter]);
            lineTo([point4[1], yCenter]);
            ctx.stroke();
            moveTo([xCenter, point1[1]]);
            lintTo([xCenter, point4[0]]);
            ctx.stroke();
            ctx.closePath();
            //1.画 边线
            ctx.lineWidth = 2;
            ctx.lineCap = 'square';
            ctx.strokeStyle = '#FE0000';
            ctx.beginPath();
            moveTo(point1);
            lineTo(point2, point4, point3, point1);
            ctx.stroke();
            ctx.closePath();
    
            ctx.restore();
        }
        function lineTo() {
            for (var i = 0; i < arguments.length; i++) {
                var item = arguments[i];
                lintTo(item);
            }
        }
        function lintTo(point) {
            ctx.lineTo(point[0], point[1]);
        }
        function moveTo(point) {
            ctx.moveTo(point[0], point[1]);
        }
        drawLine();
        function setValue(text) {
            //清屏幕
            ctx.clearRect(0, 0, canvasOne.width, cancasOne.height);
            ctx.fillStyle = 'white';
            ctx.fillRect(0, 0, cancasOne.width, cancasOne.height);
            //画参考线
            drawLine();
            //画字
            ctx.font = 'bold 140px 楷体';
            ctx.textAlign = 'center';
            ctx.textBaseline = 'middle';
            ctx.fillStyle = 'black';
            ctx.fillText(text, canvasOne.width / 2,
                canvasOne.height / 2);
        }
        var inputOne = document.getElementById('inputOne');
        inputOne.onchange = function () {
            console.info(inputOne.value);
            setValue(inputOne.value);
        }
    </script>

  • 相关阅读:
    大数据分析防御威胁,中小企业安全的选择
    计算机鼻祖-Donald Knuth(高纳德) 的传奇
    [ExtJS5学习笔记]第五节 使用fontawesome给你的extjs5应用添加字体图标
    谁说技术男没有人文情怀:当旅途遇到生命赞歌
    控制器之间传值,逆传
    #include &lt;sys/socket.h&gt;找不到头文件
    怎样得到QML package的具体API接口
    Java面向对象编程(一)
    STL algorihtm算法iter_swap(29)
    jquery分页插件
  • 原文地址:https://www.cnblogs.com/tianma3798/p/5563607.html
Copyright © 2020-2023  润新知