JavaScript;使用画布在图像上添加文本并保存到图像

2024-05-27

我只想制作一个页面,您可以在其中输入文本并将其添加到所选图像上并将其另存为新图像。

我尝试了几种方法,但没有运气。

<body>
<canvas id = "idCanvas" width = "576" height = "577"> </canvas>
<img id="canvasImg" width = "576" height = "577"></img>
<script>
window.onload = function(){
  var canvas = document.getElementById('idCanvas');
  var context = canvas.getContext('2d');
  var imageObj = new Image();
  var dataURL = canvas.toDataURL();

  imageObj.onload = function() {
    context.drawImage(imageObj, 0, 0, 576, 577);
    context.font = "20px Calibri";
    context.fillText("My TEXT!", 50, 200);

    document.getElementById('canvasImg').src = toDataURL();
    window.alert(dataURL);
  };
  imageObj.src =  "image.png";

  };



</script>

当我在 img src 中使用 toDataURL() 时,图像不会显示,只有当我不在画布中使用 drawImage 时它才有效。


好吧,是的,出于安全原因它不会起作用,但有一个解决方案。 请参阅此处的工作演示:FIDDLE https://jsfiddle.net/arL9wfux/

draw();

function draw() {

    var canvas = document.getElementById('idCanvas');
    var context = canvas.getContext('2d');

    var imageObj = new Image();


  imageObj.onload = function() {
    context.drawImage(imageObj, 0, 0);
    context.font = "40px Calibri";
    context.fillStyle = "red";
    context.fillText("My TEXT!", 50, 300);

    var canvas = document.getElementById('idCanvas');
    var dataURL = canvas.toDataURL();

    alert(dataURL);
  }
imageObj.setAttribute('crossOrigin', 'anonymous');
imageObj.src = "https://loremflickr.com/400/200";
};
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JavaScript;使用画布在图像上添加文本并保存到图像 的相关文章

  • 如何将内联 JavaScript 与 Express/Node.js 中动态生成的内容分开?

    对于具有几年 Web 开发经验但没有找到答案的人来说 这是一个有点菜鸟的问题程序员堆栈交换 or Google 我决定在这里问一下 我在用Express网络框架Node js 但这个问题并不特定于任何 Web 框架或编程语言 以下是从数据库
  • 如何针对 Node.js 中发生的每个错误发送电子邮件?

    假设我的 node js 应用程序正在运行 如果出现错误 我的意思是所有错误 不仅仅是网络错误 如果出现错误 则很重要 我如何调用函数向我发送电子邮件 基本上 在我希望它写入 err out 之前 我希望向我发送一封电子邮件 我正在使用no
  • 将 GMT 时间转换为当地时间

    我以这种格式从我的服务器获取 GMT 时间 Fri 18 Oct 2013 11 38 23 GMT 我的要求是使用Javascript将此时间转换为本地时间 例如 如果用户来自印度 首先我需要采用时区 5 30并将其添加到我的服务器时间并
  • php - 解析html页面

    div divbox div p para1 p p para2 p p para3 p table class table tr td td tr table p para4 p p para5 p 有人可以告诉我如何解析这个 html
  • 网站的主体和元素固定在 980px 宽度上,不会缩小

    我试图在 Rails 应用程序顶部启动前端 仅 HTML CSS 页面 但在使用 320px 视口时遇到问题 有些元素不会按比例缩小 我不明白为什么 我已经完成了检查元素 为各种元素提供了max width 100 and or width
  • 检查 jQuery 1.7 中是否存在基于文本的选择选项

    所以我有以下 HTML 片段
  • window.location 和 location.href 之间的区别

    我对之间的区别感到困惑window location and location href 两者似乎都以相同的方式行事 有什么不同 window location是一个对象 它保存有关当前文档位置的所有信息 主机 href 端口 协议等 lo
  • 为什么我们在打字稿中使用 HTMLInputElement ?

    我们为什么使用 document getElementById ipv as HTMLInputElement value 代替 document getElementById ipv value 功能getElementById返回具有类
  • 有没有办法在 onclick 触发时禁用 iPad/iPhone 上的闪烁/闪烁?

    所以我有一个有 onclick 事件的区域 在常规浏览器上单击时 它不会显示任何视觉变化 但在 iPad iPhone 上单击时 它会闪烁 闪烁 有什么办法可以阻止它在 iPad iPhone 上执行此操作吗 这是一个与我正在做的类似的示例
  • 图像背景不透明度不影响边框

    如何设置背景不透明度而不影响边框线不透明度 我找到的解决方案没有帮助 div class selected img src assets img image product 1 thumbnail jpg alt product 1 thu
  • 如何以 Rails 形式将图像从 上传到具有 Rails Active Storage 的 S3?

    正如标题中所述 我正在尝试使用 Rails 的 Active Storage 从嵌套在 Rails 表单中的元素将图像上传到我的 S3 存储桶 到目前为止我已经能够使用使用 Active Storage 上传图像 这User class h
  • Three.js 各种大小的粒子

    我是 Three js 的新手 正在尝试找出添加 1000 个粒子的最佳方法 每个粒子都有不同的大小和颜色 每个粒子的纹理是通过绘制画布创建的 通过使用粒子系统 所有粒子都具有相同的颜色和大小 为每个粒子创建一个粒子系统是非常低效的 有没有
  • 使用 Vue 的多模式组件

    我在 Vue 中实现动态模式组件时遇到问题 A common approach I follow to display a set of data fetched from the db is I dump each of the rows
  • 在 HTML 下拉列表中有一个滚动条

    我正在寻找一种在 HTML 的下拉列表中添加滚动条的方法 这样如果下拉列表包含的内容超过例如 5 项 将出现滚动条以查看其余项 这是因为我将被迫列出一些大清单 过去几个小时我一直在谷歌上搜索它 但没有运气 它需要适用于 IE8 FF 和 C
  • 如何隐藏/禁用 Highcharts.js 中的图例框?

    我想问是否可以使用 HighCharts js 库隐藏图表中的所有图例框 var chart object chart renderTo render to type graph type colors graph colors title
  • Javascript Replace() 和 $1 问题

    我正在尝试创建一个脚本来搜索文本中的模式并在它找到的字符串周围包裹一个标签 shop attributes td each function this html function i html return html replace E 0
  • HTML 锚点,禁用样式

    我有一些 html 锚链接代码 与文档的其余部分不同 我希望它看起来不是链接 有没有一种简单的方法可以禁用由于将文本包装在锚标记中而引起的样式更改 而不必强行使其相同 即 如果我更改正文字体样式 我不必也更改其他一些 link东西 将颜色设
  • 使用 MongoDB 和 Nodejs 插入和查询日期

    我需要一些帮助在 mongodb 和 nodejs 中按日期查找记录 我将日期添加到抓取脚本中的 json 对象 如下所示 jsonObj last updated new Date 该对象被插入到 mongodb 中 我可以看到如下 la
  • Jquery - 选择选项后如何获取选项的特定数据类型?

    我将直接跳到标记 然后解释我想要做什么 HTML 选择选项
  • 如何使用asm.js进行测试和开发?

    最近我读到asm js规范 看起来很酷 但是是否有任何环境 工具来开发和测试这个工具 这还只是处于规范阶段吗 您可以尝试使用 emscripten 和 ASM JS 1 并从侧分支在 firefox 构建中运行它 有关 asm js 的链接

随机推荐

  • 我如何知道是否启用了 PHP 缓存?

    我曾经认为缓存很难安装 所以我从来没有这样做过 在阅读了有关 APC 的内容后 它似乎很容易安装 我一直认为我必须修改应用程序中的大量 PHP 代码才能使用它 哈哈 不管怎样 我想安装APC 我可以使用 phpinfo 并注意到它没有在页面
  • 使用 CXF 通过 HTTP 基本身份验证使用 Web 服务时出现 401 错误

    我正在尝试在 JUnit 测试中使用使用 HTTP 基本身份验证 使用 Apache CXF 的远程 Web 服务 我收到的错误是 javax xml ws WebServiceException Failed to access the
  • 获取添加为子视图的 UIView 的可见矩形

    如上图所示 UIView A 和 UIView C 添加到 UIView B 上 B ClipToBounds 为 YES 因此红色区域不可见 是否有可能获得 A 和 C 的可见矩形 用线条显示 当我触摸视图 A 时 我需要在可见区域显示矩
  • 逐行读取 JTextPane

    有没有办法读取a的内容JTextPane逐行 很像 BufferedReader 吗 Element root textPane getDocument getDefaultRootElement 获得根元素后 您可以检查存在多少个子元素
  • 当我编写 FirebaseApp.configure() 时,iOS 应用程序崩溃

    我有一个 ios 应用程序 可以正常登录和 Facebook 登录 今天我集成了 firebase 当我在应用程序委托中编写 FirebaseApp configure 时 我的应用程序崩溃了 并且此函数突出显示错误代码 在展开可选值时意外
  • 如何从 QLineEdit 动态获取文本? [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 怎样才能得到String Text from QlineEdit 我尝试过像这样 myArea getList 功能是获取字符串值并使用字符
  • 如何在perl中使用O_ASYNC和fcntl?

    我想使用 O ASYNC 选项 当管道可以读取时 SIGIO 的处理程序将运行 但以下代码不起作用 任何人都可以帮助我吗 bin env perl use Fcntl SIG IO sub print catch SIGIO n my fl
  • 窗口多维 Tensorflow 数据集

    我有形状的二维数据m by n我想要的窗口大小w沿着第一个轴进入数据集m w许多二维数组 每个数组的大小w by n 例如如果数据是 0 1 2 3 4 5 6 7 8 9 10 11 然后我想将其窗口化 0 1 2 3 4 5 6 7 8
  • 如何在头文件中定义变量? [复制]

    这个问题在这里已经有答案了 如果这个问题没有意义或者看起来很简单 但我想了解这些头文件是如何工作的 请原谅我 是否可以在头文件内部声明 int 等类型的变量 我有以下代码 我声明窗口和窗口尺寸的行有问题 编译器说它们有多个定义 首先在主文件
  • 如何向 OkHttp 请求拦截器添加标头?

    我将这个拦截器添加到我的 OkHttp 客户端 public class RequestTokenInterceptor implements Interceptor Override public Response intercept C
  • 为表多次指定了 xxx 列

    我正在尝试将 db2 简单查询调整为 SQL SERVER 该查询在 db2 上运行良好 select from pb console users u join select from pb console users user role
  • React router + redux 导航回来不会调用 componentWillMount

    目前 我在容器组件的生命周期方法 componentWillMount 中预加载来自 api 的数据 componentWillMount const dept course this props routeParams this prop
  • 当您点击外部时,Bootstrap 3 Mobile 导航不会崩溃

    当我单击 触摸菜单外部时 我的 Bootstrap 3 移动菜单确实会折叠 我可以想出一个解决问题的方法 document on touchstart click html not nav function navbar collapse
  • 使用不同的组合器和累加器进行流缩减的示例

    问题是关于java util stream Stream reduce U identity BiFunction
  • ORACLE 在立即执行中批处理 DDL 语句

    我正在尝试在一个 Execute Immediate 语句中运行多个 ddl 语句 我认为这会很简单 但看来我错了 想法是这样的 declare v cnt number begin select count into v cnt from
  • chrome 如何建立正确的字符编码?

    我最近一直在使用很多字符集 在尝试为随机网页建立正确的字符集时发现了很多问题 字符集可以在html文档的标题中设置 也可以在节 多次或有时声明被省略 尽管存在这些问题 chrome 每次都在设置最佳字符集方面做得很好 我尝试过搜索来源 ht
  • C++ 清理字符串函数

    我需要为以下字符构建自己的清理函数 n r 0 and CTRL Z 我想确保以下代码能够实现这一目的 并且没有副作用 include
  • ExtJS4:从 Ext.Application 访问全局变量

    我想加载一些应用程序特定的设置 并在加载应用程序时将它们保存为全局变量 我找到了如何创建和访问全局变量here https stackoverflow com questions 11615277 setting and accessing
  • 对于 `mouseMoveEvent()` 来说鼠标移动太快

    以下是 Python 3 版本 UI XML 代码显示 4QProgessBar对于每个鼠标方向 标记为 X X Y Y 快速移动鼠标 以圆圈形式 将使 4QProgessBar上升到 99 然后是一些QProgessBar休息一下 直到鼠
  • JavaScript;使用画布在图像上添加文本并保存到图像

    我只想制作一个页面 您可以在其中输入文本并将其添加到所选图像上并将其另存为新图像 我尝试了几种方法 但没有运气