当前位置: 首页 > news >正文

通过HTML Canvas 在图片上绘制文字

目录

前言

一、HTML Canvas 简介

二、准备工作

三、绘制图片

四、绘制文字

五、完整代码

效果演示:


前言

        HTML canvas 为我们提供了无限的创意可能性。今天,我们就来探索一下如何通过 HTML canvas 将图片和文字绘制到图片上,创造出独特而富有个性的视觉效果。

一、HTML Canvas 简介

HTML canvas 是一个可以使用 JavaScript 在网页上绘制图形的元素。它提供了一组强大的绘图 API,可以让我们绘制各种形状、图像和文本。通过 canvas,我们可以实现动态的图形效果,为网页增添生动和交互性。

二、准备工作

首先需要在 HTML 页面中创建一个 canvas 元素。可以使用以下代码:

var canvas = document.createElement("canvas");canvas.width = image.width;canvas.height = image.height;

 然后,在 JavaScript 中获取 canvas 元素和绘图上下文:

// 获取上下文对象var ctx = canvas.getContext("2d");

三、绘制图片

1.加载图片

首先,我们需要加载要绘制到 canvas 上的图片。可以使用 Image 对象来加载图片,并在图片加载完成后进行绘制。

<img id="resultImage" src="12images/wz.png" alt="结果图片" title="123">image.onload = function() {}

2.绘制图片到 canvas

当图片加载完成后,我们可以使用 drawImage 方法将图片绘制到 canvas 上。

// 将图片绘制到画布上ctx.drawImage(image, 0, 0);

四、绘制文字

1.设置文字样式

在绘制文字之前,我们可以设置文字的样式,包括字体、字号、颜色等。

// 设置文本样式ctx.font = "24px Arial";ctx.fillStyle = "black";

2.绘制文字到 canvas

使用 fillText 方法可以将文字绘制到 canvas 上。

// 将文本绘制到画布上ctx.fillText(inputText, 40, 50); // 指定文本的位置

五、完整代码

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title></title></head><body><input type="text" id="textInput"><button onclick="addTextToImage()">将文本添加到图片</button><img id="resultImage" src="12images/wz.png" alt="结果图片" title="123"><div id="wz"></div><script type="text/javascript">function addTextToImage() {var inputText = document.getElementById("textInput").value; // 获取输入框的值console.log(inputText);// 创建一个新的图片对象var image = new Image();image.src = "images/weizhi.png"; // 图片的路径// 当图片加载完成后执行操作image.onload = function() {var canvas = document.createElement("canvas");canvas.width = image.width;canvas.height = image.height;// 获取上下文对象var ctx = canvas.getContext("2d");// 将图片绘制到画布上ctx.drawImage(image, 0, 0);// 设置文本样式ctx.font = "24px Arial";ctx.fillStyle = "black";// 将文本绘制到画布上ctx.fillText(inputText, 40, 50); // 指定文本的位置// 将画布中的内容存储为图片var resultImage = document.getElementById("resultImage");resultImage.src = canvas.toDataURL("image/jpeg");};}</script></body>
</html>

效果演示:

http://www.lryc.cn/news/497297.html

相关文章:

  • C# 冒泡的算法
  • 大数据项目-Django基于聚类算法实现的房屋售房数据分析及可视化系统
  • AWS创建ec2实例并连接成功
  • TypeScript 开始学习 -接触的新东西
  • 非对称任意进制转换器(安卓)
  • 【优选算法篇】寻找隐藏的宝藏:用二分查找打开算法世界的大门(上篇)
  • 基于Vue实现的移动端手机商城项目 电商购物网站 成品源码
  • C语言:数组
  • 时间序列预测之FiLM
  • 【机器学习】窥数据之序,悟算法之道:机器学习的初心与远方
  • OpenCL介绍
  • 「Mac畅玩鸿蒙与硬件42」UI互动应用篇19 - 数字键盘应用
  • 【前端知识】npm命令行详细说明
  • Python网络爬虫技术详解与实践案例
  • 【遥感目标检测综述】【GRSS】遥感目标检测与深度学习的相遇:挑战与进展的元综述
  • 【大数据技术基础】 课程 第3章 Hadoop的安装和使用 大数据基础编程、实验和案例教程(第2版)
  • 【机器学习】机器学习的基本分类-监督学习-决策树-C4.5 算法
  • 云计算vsphere 服务器上添加主机配置
  • Linux笔记---进程:进程替换
  • 量化交易backtrader实践(五)_策略综合篇(1)_股票软件指标回测
  • 4.STM32通信接口之SPI通信(含源码)---软件SPI与W25Q64存储模块通信实战《精讲》
  • MINDAGENT:游戏交互中的新兴性设计
  • 【工具变量】上市公司企业所在地城市等级直辖市、副省级城市、省会城市 计划单列市(2005-2022年)
  • C# 动态类型 Dynamic
  • Css动画:旋转相册动画效果实现
  • Unity 基于Collider 组件在3D 物体表面放置3D 物体
  • Hbase整合Mapreduce案例1 hdfs数据上传至hbase中——wordcount
  • PyQt 中的无限循环后台任务
  • 5G CPE核心器件-基带处理器(三)
  • 鸿蒙next版开发:拍照实现方案(ArkTS)