JS将文字签名转透明背景的图片

要将文本转换为图片,可以使用Canvas API。以下是一个简单的示例,展示了如何将文本绘制到画布上,并将其转换为图片。

1. html 版本

html

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Text to Image</title>
</head>
<body>
    <input type="text" id="textInput" placeholder="请输入文本">
    <button onclick="convertToImage()">转换为图片</button>
    <img id="imageOutput" width="100" height="100">

    <script src="script.js"></script>
</body>
</html>

script.js

javascript 复制代码
function convertToImage() {
    // 获取输入框的文本
    const text = document.getElementById('textInput').value;

    // 创建一个新的Canvas元素,用于绘制文本
    const canvas = document.createElement('canvas');
    // 背景设置成透明
    canvas.style.background = 'rgba(255, 255, 255, 0)'
    canvas.width = 120;
    canvas.height = 60;

    // 获取Canvas的2D绘图上下文
    const ctx = canvas.getContext('2d');

    // 将文本绘制到画布上
    ctx.font = '24px Arial';
    ctx.fillStyle = 'black';

    ctx.fillText(text, 25, 40);

    // 将画布转换为图片并显示
    const imgData = canvas.toDataURL('image/png');
    document.getElementById('imageOutput').src = imgData;
}
2. 纯JS 版
javascript 复制代码
convertToImage(text) {
    // 创建一个新的Canvas元素,用于绘制文本
    const canvas = document.createElement('canvas');
    canvas.style.background = 'rgba(255, 255, 255, 0)'
    canvas.width = 120;
    canvas.height = 60;

    // 获取Canvas的2D绘图上下文
    const ctx = canvas.getContext('2d');

    // 将文本绘制到画布上
    ctx.font = '24px Arial';
    ctx.fillStyle = 'black';

    ctx.fillText(text, 25, 40);

    // 将画布转换为图片并显示
    const imgData = canvas.toDataURL('image/png');
    return imgData
}
相关推荐
Amos_Web4 分钟前
Rspack 源码解析(八):Module、Chunk 与 Runtime ID
前端·rust·源码阅读
彭于晏分晏10 分钟前
深入理解 Vue 3 响应式原理:从 Proxy 到依赖收集
前端
晚安日记wanna13 分钟前
Vue3 script setup 的四层追问答到第三层才算过关
前端·vue.js·面试
不灭的黄金瞳12314 分钟前
Java数据类型与变量
java·开发语言·intellij-idea
前端柱子19 分钟前
Chaikin‘s Corner Cutting 算法 应用canvas绘制平滑的曲线
前端
gnip22 分钟前
uts 插件示例:获取设备电量信息
前端·javascript
码上成长27 分钟前
Mapbox 上用 Turf 裁多边形:屏幕贴边了,接口却说越界
前端·前端框架
计算机魔术师32 分钟前
纽约时报告了OpenAI和微软:820万条聊天记录背后,是AI时代最大的版权保卫战
前端
小白学大数据33 分钟前
Python 项目实战:用 Flask 构建生产级 MySQL 增删改查 REST API
开发语言·人工智能·python·mysql·flask
码事漫谈38 分钟前
在 Kubernetes 上管好数据库:金仓 KES-Operator 正式落地
前端·后端