Javascript 将文本工具添加到绘图应用程序HTML、画布

Javascript 将文本工具添加到绘图应用程序HTML、画布,javascript,jquery,html,html5-canvas,Javascript,Jquery,Html,Html5 Canvas,我正在尝试添加一个文本工具到我的应用程序中,我正在使用一个输入框进行开发 是否可以按enter键或在框外单击将文本应用于画布并销毁输入框 HTML <span id="tools"> <button id="text" class="texttool">txt</button> </span> <canvas id="sketch"></canvas> 您可以更改drawText函数以隐藏框的边框 这是一个简单的解决

我正在尝试添加一个文本工具到我的应用程序中,我正在使用一个输入框进行开发

是否可以按enter键或在框外单击将文本应用于画布并销毁输入框

HTML

<span id="tools">
  <button id="text" class="texttool">txt</button>
</span>

<canvas id="sketch"></canvas>

您可以更改drawText函数以隐藏框的边框

这是一个简单的解决方案,看起来没有盒子,但创建时也看不到它

更改
innerShadow:'0px 0px 5px rgba(0,0,0,0.5)',
使用
innerShadow:'0px 0px rgba(0,0,0,0.5),
并将
边框宽度:1更改为0


希望对您有所帮助

您可以更改drawText函数以隐藏方框的边框

这是一个简单的解决方案,看起来没有盒子,但创建时也看不到它

更改
innerShadow:'0px 0px 5px rgba(0,0,0,0.5)',
使用
innerShadow:'0px 0px rgba(0,0,0,0.5),
并将
边框宽度:1更改为0


希望这有助于

让它变得更容易,尝试为框提供css样式,使边框不可见使其更容易,尝试为框提供css样式,使边框不可见答案为K,但我需要以某种方式将文本绘制到画布上,这样我就无法正确使用其他工具,我想我也不能重复使用文本。谢谢你的回答,但我需要以某种方式将文本绘制到画布上,这样我就不能正确使用其他工具,我也不能重复使用文本。
    var canvas, ctx;
    var inputBox=0;

    function drawText(ctx,x,y,size) {
    if (inputBox==0){
        inputBox=1;
          var input = new CanvasInput({
              x: mouseX,
              y: mouseY,
              canvas: document.getElementById('sketch'),
              fontSize: 18,
              fontFamily: 'Arial',
              fontColor: '#212121',
              fontWeight: 'bold',
              width: 300,
              padding: 8,
              borderWidth: 1,
              borderColor: '#000',
              borderRadius: 3,
              boxShadow: '1px 1px 0px #fff',
              innerShadow: '0px 0px 5px rgba(0, 0, 0, 0.5)',
              placeHolder: 'Enter message here...'
              });
          }
    }

    function init() {
        canvas = document.getElementById('sketch');
        canvas.width = window.innerWidth;
        canvas.height = window.innerHeight;

        if (canvas.getContext)
            ctx = canvas.getContext('2d');

        if (ctx) {
            canvas.addEventListener('mousedown', sketch_mouseDown, false);
            canvas.addEventListener('mousemove', sketch_mouseMove, false);
            window.addEventListener('mouseup', sketch_mouseUp, false);
        }
    }

    var onTool = function() {

        if ( tool == 'brush' )
        {   drawLine(ctx,mouseX,mouseY,2); }

        else if ( tool == 'eraser' )
        {   drawEraser(ctx,mouseX,mouseY,2); }

        else if ( tool == 'text' )
        {   drawText(ctx,mouseX,mouseY,2); }
    };