javascript - 如何使用 JavaScript 和 Canvas 在图像上添加文本

标签 javascript jquery html canvas

我需要使用 JavaScript/jQuery 在现有图像上添加文本。这是我的代码:

<form name="billdata" id="billdata"  enctype="multipart/form-data" novalidate>
    <input name="text" id="txt" class="form-control" placeholder="Add Text"  type="text" required>
    <div class="col-md-6">
        <img src="703960808_1011008937_images.png">
    </div>
</form>

这里我有一个文本字段。当用户在该文本字段中写入内容时,它会写在该图像上,并且应在提交表单时获取编辑后的图像。

最佳答案

您只需要使用canvas。请看我的示例。

var canvas = document.getElementById('canvas'),
        ctx = canvas.getContext('2d');
canvas.width = $('img').width();
canvas.crossOrigin = "Anonymous";
canvas.height = $('img').height();
ctx.drawImage($('img').get(0), 0, 0);
ctx.font = "36pt Verdana";
$(document).on('input','#inp',function(){
    //redraw image
    ctx.clearRect(0,0,canvas.width,canvas.height);
    ctx.drawImage($('img').get(0), 0, 0);
    //refill text
    ctx.fillStyle = "red";
    ctx.fillText($(this).val(),40,80);
});
$('button').click(function(){
    console.log(ctx.getImageData(50, 50, 100, 100));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form>
    <img style="display:none" src="https://encrypted-tbn2.gstatic.com/images?q=tbn:ANd9GcTsEbEB4kEMHt3WJ13HpZE16hJ3iKrE8ugnErvyln7oNPDma48U" crossorigin="anonymous"/>
 <input type="text" id="inp"/>
  <button type="submit">Save</button>
</form>

<canvas id="canvas" />

关于javascript - 如何使用 JavaScript 和 Canvas 在图像上添加文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41116851/

相关文章:

javascript - 展开阅读更多内容的 jQuery 代码是什么?

javascript - 在 WooThemes 的 Flexslider 中滑动鼠标指针

javascript - 如何在不重新加载页面的情况下填充div

html - libxml2 -> HTMLparser.h -> htmlReadMemory 中编码的可能值是什么

html - xslt xml html : how to distinguish the same elements with or without child?

javascript - 路由导航在 NodeJs 中不起作用

JavaScript 错误 : object not defined

javascript - 将 div 调整到 body 的左侧和另一个 margin 为 auto 的 div 之间

javascript - 使用 jQuery 设置动画时丢失悬停(不移动鼠标)

html - 调整窗口大小时图像高度不会调整