js 利用canvas 生成文字图片

// text,需要生成的文字
    // font,字体样式
    drawLogo: function(text, font) {
        // 创建画布
        let canvas = document.createElement(‘canvas‘);
        // 绘制文字环境
        let context = canvas.getContext(‘2d‘);
        // 设置字体
        context.font = font;
        // 获取字体宽度
        let width = context.measureText(text).width;
        // 如果宽度不够 240
        if (width < 240) {
            width = 240;
        } else {
            width = width + 30;
        }
        // 画布宽度
        canvas.width = width;
        // 画布高度
        canvas.height = width;
        // 填充白色
        context.fillStyle = ‘#ffffff‘;
        // 绘制文字之前填充白色
        context.fillRect(0, 0, canvas.width, canvas.height);
        // 设置字体
        context.font = font;
        // 设置水平对齐方式
        context.textAlign = ‘center‘;
        // 设置垂直对齐方式
        context.textBaseline = ‘middle‘;
        // 设置字体颜色
        context.fillStyle = ‘#000000‘;
        // 绘制文字(参数:要写的字,x坐标,y坐标)
        context.fillText(text, canvas.width / 2, canvas.height / 2);
        // 生成图片信息
        let dataUrl = canvas.toDataURL(‘image/png‘);
        return dataUrl;
    },

原文地址:https://www.cnblogs.com/CaktyRiven/p/12155277.html

时间: 2024-08-05 14:13:44

js 利用canvas 生成文字图片的相关文章

php生成文字图片效果

php生成文字图片效果最近看到php的GD功能,试着做了一个基本生成文字图片效果的代码: 显示文字图片页面:demo.php<?php$str = $_REQUEST['str'] ? $_REQUEST['str']:"暂无输入";//$str = "中华人民共和国";$im = imagecreate(200,200);$white = imagecolorallocate($im,0xFF,0xFF,0xFF);imagecolortransparent

WPF 生成文字图片小笔记: DrawingContext类

在WinForm程序中用Graphics类生成图片文字, 而WPF功能类似的类是System.Windows.Media下的DrawingContext. 虽然在WPF中可以使用Graphics类, 但这会涉及到Bitmap与BitmapSource之间的转换. 虽然不是很麻烦, 但就是很不爽. 而且Graphics是GUI的操作, 明显不适合WPF. 在System.Windows.Media命名空间下, 还有其它与System.Drawing功能相类似的类. 当然, 你在使用DrawingC

canvas生成遮罩图片

首先我们知道css3中增加了不少好用.好玩的css3样式可以使用.今天我们要说到是遮罩. 它的使用方式也不复杂,和background使用方式差不多.使用mask-image就可以使用,这样就可以通过图片合成一张带有形状的合成图了,不需要直接使用PS处理了.CSS遮罩——如何在CSS中使用遮罩,这篇文章已经详细说明了遮罩如何使用了,我这里就不赘述了.今天我这里想要说明的是,如何通过这个完成生成一个合成图片的逻辑. 它通过两种方式:前端JS+canvas,后端nodejs+canvas,完成基本思

利用canvas生成二维码

实现原理是通过canvas利用input的value值在div内生成canvas绘制的二维码,然后toDataURL方法为img赋值最终实现二维码的生成和下载<html xmlns="http://www.w3.org/1999/xhtml"><head><title>收款二维码</title></head> <body class="hold-transition skin-blue sidebar-mini

前端JS利用canvas的drawImage()对图片进行压缩

对于大尺寸图片的上传,在前端进行压缩除了省流量外,最大的意义是极大的提高了用户体验. 这种体验包括两方面: 1.由于上传图片尺寸比较小,因此上传速度会比较快,交互会更加流畅,同时大大降低了网络异常导致上传失败风险. 2.最重要的体验改进点:省略了图片的再加工成本.很多网站的图片上传功能都会对图片的大小进行限制,尤其是头像上传,限制5M或者2M以内是非常常见的.然后现在的数码设备拍摄功能都非常出众,一张原始图片超过2M几乎是标配,此时如果用户想把手机或相机中的某个得意图片上传作为自己的头像,就会遇

[H5-Compress-Image]利用canvas实现 javascript 图片压缩处理_基于requirejs模块化的代码实现

// 还存在有问题的代码,问题在于processFile()中// 问题:在ipone 5c 下,某些图片压缩处理后,上传到服务器生成的文件size为0,即是空白 ;define(['mod/tool/formSubmit'] ,function(o_formSubmit) { return { init: function(id) { var self = this; self.sniff(id); var $img = ''; var $inputField = ''; }, sniff:

js 利用canvas绘制直线、曲线

<body> <!--画板--> // 当浏览器不支持的时候才会出现文字 <canvas id="canvas" style="background-color: black;">您当前的版本不支持 </canvas> <script type="text/javascript"> // 拿到画板 var canvas = document.getElementById('canvas'

随机生成文字图片验证码

1.随机生成汉字 //传入你要生成汉字的个数 public string GetGB2312String(int count) { var random = new Random(); var bs = new byte[count * 2]; for (var i = 0; i < count; i++) { var c = GetGB2312Char(random); bs[i * 2] = (byte)(c.X + 0xa0); bs[i * 2 + 1] = (byte)(c.Y + 0

js 利用canvas + flv.js实现 视频流 截屏 、本地下载功能实现,兼容火狐,谷歌, 截屏跨域的坑

1 本地视频截屏(canvsa) <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title></title> <link rel="stylesheet" href=&q