jCanvas中输出表单输入值

Output form input value in jCanvas

将文本输入的值输出到 jCanvas 的有效代码是什么?例如:

姓名[李四]

然后 John Doe 将被输出到 jCanvas 上。

我想我知道什么是可行的,但我不确定如何将其变成有效的 jQuery 代码。下面的伪代码:

var input = #input.val

canvas.drawText(

    input

    (dimensions go here)
)

下面的代码实现了您正在寻找的输出。

总而言之,我们:

  • #name 输入
  • 上监听 keyup 事件
  • 每当发生这种情况时,将输入值存储到 inputString 变量
  • 调用 jCanvas 的 clearCanvas 方法删除 canvas
  • 上的任何现有文本
  • 最后使用jCanvas的drawText方法将文字打印到canvas

$(document).ready(function() {
       
  var inputString;

  $('#name').on('keyup', function () {
    inputString = $(this).val();

    $('canvas').clearCanvas();

    $('canvas').drawText({
      fillStyle: '#000',
      x: 50, y: 50,
      fontSize: 30,
      align: 'left',
      respectAlign: true,
      fontFamily: 'Verdana, sans-serif',
      text: inputString
    });
  });
});
<form>
  <label for="name">Name: </label>
  <input type="text" id="name" maxlength="25" />
</form>

<canvas width="600" height="300"></canvas>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jcanvas/16.7.3/jcanvas.js"></script>