canvas绘制海报中文字自动换行
canvas:canvas绘制海报中文字自动换行
问题描述
canvas绘制的海报在某一行文字过多时不会自动换行(设置文本宽度无用)
源代码
context.fillText(this.data.goods.package_brief, 17 * getRatio(), 350 * getRatio());
新方法调用
this.drawText(context, this.data.goods.package_brief,17*getRatio(),340*getRatio(),200);
解决方法
drawText: function (context,t,x,y,w){var chr = t.split("");var temp = "";var row = [];for (var a = 0; a < chr.length; a++) {if (context.measureText(temp).width < w && context.measureText(temp + (chr[a])).width <= w) {temp += chr[a];}//context.measureText(text).width 测量文本text的宽度else {row.push(temp);temp = chr[a];}}row.push(temp);// 只显示2行,加...if (row.length>=2){for (var b = 0; b < 2; b++) {var str = row[b];console.log(row, str)if (b == 1) {str = str.substring(0, str.length) + '...';}context.fillText(str, x, y + (b + 1) * 15);}}else{for (var b = 0; b < row.length; b++) {context.fillText(row[b], x, y + (b + 1) * 15);//字体20,间隔24。类似行高}}}
参数详解:
drawText: function (context,t,x,y,w){}中 context是canvas自身,t是要转换的文字,x是距离canvas左边的距离,y是距离canvas顶部的距离,w是设定的文字内容宽度
canvas绘制海报中文字自动换行相关推荐
- canvas绘制海报分享,海报中设置圆角二维码
canvas绘制海报分享,海报中设置圆角二维码,背景图,动态的文字,绘制完成以后保存为图片,可长按分享海报图片. 下面看看效果图:(假设教师的图片是二维码) 这其中,背景图元素,还有教师的图片(假设是 ...
- canvas绘制海报及点击保存海报
1.canvas绘制海报 createcanvas() {let that = this,windowW = that.data.windowWconst query = wx.createSelec ...
- uniapp使用canvas绘制海报
Uniapp中使用canvas绘制海报可以按照以下步骤进行: 1. 引入需要绘制的图片资源 这些图片可以是本地的,也可以是远程的.可以将图片资源放在项目的`static`目录下,例如:`static/ ...
- html怎样让文字自动换行,css中文字自动换行如何实现
css中文字自动换行如何实现 在div css布局中,遇到连续英文字母或连续数字在div.p.h2.h1等盒子里排成一排显示不会自动随盒子宽度限制而自动换行. 当然中文字在DIV或任意盒子中均会自动换 ...
- 使用canvas绘制海报,包含文字、图片、base64图片
这里写目录标题 步骤 1. 创建画布 2. 画图片 3. 画文字 4. 画base64图片 保存 完整代码 js vue 这里介绍使用js(jQuery)或者vue使用画布绘制海报,小程序uniapp ...
- 小程序中使用canvas绘制海报
最近项目需求使用canvas绘制朋友圈可分享的海报,中间遇到很多问题,于是上网搜索,完美解决后,在此总结一下. 先来看一下效果图,点击按钮生成带二维码的图片. 1.关于canvas画布的宽度和高度 w ...
- 小程序php生成海报,小程序用canvas绘制海报的做法
2020年第一篇文章,年初忙着复习刷题一直没空去写东西,书看的越多感觉越技不如人,始终徘徊在小菜鸡的行列中,最近项目里正好有一个canvas的业务,突然又燃起了我一个UI前端的火种,记下了踩坑和思考. ...
- 微信小程序使用canvas绘制海报并保存本地相册
在做微信小程序的时候,很多都会用到生成海报分享功能,刚好最近项目有这个需求,今天就发出来记录下 首先是使用canvas绘制一张海报,微信小程序的canvas有老版本和新版本我是用的是新版本 代码如下 ...
- uniapp Canvas绘制海报
在绘制的过程中可能会需要文字换行 文字换行在我上篇文章,链接:文字换行. 之前写过一个分享海报,但是觉得代码逻辑不清晰所以重新写一个 我们的需求是这样子的 <view class="w ...
最新文章
- gpio引脚介绍 树莓派3b_如何让LabVIEW程序运行在树莓派3B(此处有坑)
- 多传感器融合 | R-LINS概述
- 纽大副教授炮轰NeurIPS、AAAI等顶会:无聊、就不该继续存在
- sqlalchemy 使用mysql_使用SQLALchemy连接MySql数据库并进行操作
- PMCAFF微课堂 | SegmentFault联合创始人高阳带你玩转垂直社群
- hive简介以及安装配置
- Smark.Data 1.5更新详解
- 滚动条插件nicescroll的使用
- Rokon 关于精灵的点击事件
- 数据包接收系列 — 上半部实现(网卡驱动)
- 短信接口防盗刷解决方案
- java流程图怎么画_JAVA流程图怎么画
- 最新破解QQ空间收费物品的真实地址(完全可免费使用)
- 微信摇心愿如何选不同服务器,2020微信游戏摇心愿活动参与方法介绍
- 洛谷刷题C语言:数字反转、再分肥皂水、三角形面积、Apples Prologue/苹果和虫子、数的性质
- 调焦后焦实现不同距离成像_眼的明视与光学调焦
- Configure交叉编译
- DNS服务器故障纠错
- 【快速入门】YOLOv5目标检测算法
- 基于单片机的电子钟/万年历系统设计教程(#0418)
热门文章
- 交大网络计算机第二学期,交通大学网络学院第二学期计算机第二次作业WINDOWS(5页)-原创力文档...
- 统考计算机应用基础ex,计算机应用基础统考模拟试卷三及参考答案
- 小红书koc/kol种草指标,实操经验
- 2018江西省计算机知识竞赛,2018大学生计算机知识竞赛题库.docx
- About BlueStacks 模拟器
- 图解 DNS服务器解析过程
- 靠手机软件免流是真的吗?什么原理?
- C# 中的转译字符'/b'
- 20220526:如何保存网页的文章
- 关于Redis的知识点,你都学会了吗?