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
}
相关推荐
Wang's Blog6 小时前
Go-Zero 项目开发43:基于 Filebeat 收集各个服务的日志信息
开发语言·golang·go-zero·filebeat
丈剑走天涯7 小时前
JDK 17 正式特性
java·开发语言
东方小月7 小时前
从零开发一个 Coding Agent(四):使用状态机校验大模型事件流
前端·人工智能·后端
秋田君7 小时前
QT_QFontDialog类字体对话框
开发语言·qt
圣光SG8 小时前
Java操作题练习(七)
java·开发语言·算法
Csvn8 小时前
🧩 ESM vs CJS 混用的 7 个「天坑」——从 TypeScript 编译到 Node 与浏览器
前端
Csvn8 小时前
🎯 Web 性能 API 集合:Performance Observer 的 5 个冷门妙用
前端
Csvn8 小时前
深入 React 闭包陷阱:从根源上理解并根治 stale closure
前端
whyfail8 小时前
前端学 Spring Boot(8):接口为什么越用越慢?
前端·spring boot·后端
麻瓜老宋9 小时前
AI开发C语言应用按步走,表达式计算器calc的第二十三步,多行输入、进制输出、错误恢复、常量折叠、配置加载等
c语言·开发语言·atomcode