wordpress编辑图片,网站建设优化推广杭州,wordpress开通邮件注册,微信小程序开发工具pc6查看专栏目录 canvas实例应用100专栏#xff0c;提供canvas的基础知识#xff0c;高级动画#xff0c;相关应用扩展等信息。canvas作为html的一部分#xff0c;是图像图标地图可视化的一个重要的基础#xff0c;学好了canvas#xff0c;在其他的一些应用上将会起到非常重…
查看专栏目录 canvas实例应用100专栏提供canvas的基础知识高级动画相关应用扩展等信息。canvas作为html的一部分是图像图标地图可视化的一个重要的基础学好了canvas在其他的一些应用上将会起到非常重要的帮助。 文章目录 示例效果图示例源代码共89行canvas基本属性canvas基础方法 如何使用canvas测量一串文字的长度呢canvas中提供了一个方法measureText他的测量是非常准确的。
提醒 在制作这个示例的时候出现了顺序上的错误将ctx.font放到了ctx.measureText()的后面致使测量的数据长度值不正确。 正确节奏是 先设定字体大小然后再测量长度。
另外从这个乌龙事件中学到了一点知识 .element { font-size: medium; } const measureElement document.querySelector(‘.element’); let fontSize parseInt(getComputedStyle(measureElement).fontSize); 首先使用 document.querySelector() 方法选择具有类名为 .element 的元素。 然后使用 getComputedStyle() 方法获取该元素的计算样式即应用于该元素的实际样式。 最后使用 parseInt() 方法将获取到的字体大小值转换为整数。 示例效果图 示例源代码共89行 /*
* Author: 大剑师兰特xiaozhuanlan还是大剑师兰特CSDN
* 此源代码版权归大剑师兰特所有可供学习或商业项目中借鉴未经授权不得重复地发表到博客、论坛问答git等公共空间或网站中。
* Email: 2909222303qq.com
* weixin: gis-dajianshi
* First published in CSDN
* First published time: 2024-01-31
*/
templatediv classdjs_containerdiv classtoph3canvas 测量文字长度measureText/h3div大剑师兰特, 还是大剑师兰特gis-dajianshi/divh4el-button typeprimary sizemini clickdraw()绘制/el-buttonel-button typedanger sizemini clickclearCanvas()清除/el-button/h4/divdiv classdajianshi canvas iddajianshi refmycanvas width980 height490/canvas/div/div
/template
scriptexport default {data() {return {ctx: null,canvas: null,}},mounted() {this.setCanvas()},methods: {clearCanvas() {this.ctx.clearRect(0, 0, this.canvas.width, this.canvas.height);},setCanvas() {this.canvas document.getElementById(dajianshi);if (!this.canvas.getContext) return;this.ctx this.canvas.getContext(2d);},draw() {this.ctx.fillStyle orange;this.ctx.font 50px STheiti, SimHei;let txt还是大剑师兰特;let clValuethis.ctx.measureText(txt);this.ctx.fillText(txt, 340, 200,)// 显示宽度this.ctx.font 12px Arial;this.ctx.fillStyle red;this.ctx.fillText(宽 clValue.width, 340 clValue.width,200);let aaa getComputedStyle(this.canvas)console.log(aaa)this.ctx.fillText(canvas设定的文字大小 aaa.fontSize, 340 ,300);},}}
/script
style scoped.djs_container {width: 1000px;height: 680px;margin: 50px auto;border: 1px solid #991188;position: relative;}.top {margin: 0 auto 0px;padding: 10px 0;background: #991188;color: #fff;}.dajianshi {margin: 5px auto 0;border: 1px solid #ccc;width: 980px;height: 490px;background-color: #eee;canvas{ font-size:20px;} }
/style
canvas基本属性
属性属性属性canvasfillStylefilterfontglobalAlphaglobalCompositeOperationheightlineCaplineDashOffsetlineJoinlineWidthmiterLimitshadowBlurshadowColorshadowOffsetXshadowOffsetYstrokeStyletextAligntextBaselinewidth
canvas基础方法
方法方法方法arc()arcTo()addColorStop()beginPath()bezierCurveTo()clearRect()clip()close()closePath()createImageData()createLinearGradient()createPattern()createRadialGradient()drawFocusIfNeeded()drawImage()ellipse()fill()fillRect()fillText()getImageData()getLineDash()isPointInPath()isPointInStroke()lineTo()measureText()moveTo()putImageData()quadraticCurveTo()rect()restore()rotate()save()scale()setLineDash()setTransform()stroke()strokeRect()strokeText()transform()translate()