使用canvas渲染文本时,如何基于文本变化,正确绘制出对应的内容?

使用canvas渲染文本时,如何基于文本变化,正确绘制出对应的内容?

HarmonyOS
2024-05-06 23:08:23
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
FengTianYa

content值的变化会同时刷新build的ui页面,但是不会重调this.context.fillText这个方法,需要监听并重新调用这个方法,同时需要清理画布内容;示例如下:

@Prop @Watch(‘contentUpdate’)content: string = “” 
 
contentUpdate() { 
this.context.clearRect(0, 0, 200, 200) // 清理画布内容 
this.context.fillText(this.content, 50, 50) // 重新填充 
} 
 
build() { 
Column() { 
Canvas(this.context) 
.width(‘100%’) 
.height(‘25%’) 
.backgroundColor(’#F5DC62’) 
.onReady(() => { 
//可以在这里绘制内容。 
this.context.font = ‘55px sans-serif’ 
this.context.fillText(this.content, 50, 50) 
console.error(“aaa — content=” + this.content) 
}) 
Text(this.content) 
.textAlign(TextAlign.Center)// .backgroundColor(‘gray’) 
.width(‘100%’) 
.height(‘50%’) 
.fontSize(60) 
} 
.borderColor(’#31525B’) 
.borderWidth(12) 
.width(‘100%’) 
.height(‘100%’) 
}
分享
微博
QQ
微信
回复
2024-05-07 15:54:11
相关问题
Canvas绘制内容如何动态更新
507浏览 • 1回复 待解决
基于measure实现文本测量
223浏览 • 1回复 待解决
webview 如何显示纯文本html内容
775浏览 • 1回复 待解决
通过Native 调用c++层实现文本绘制
512浏览 • 1回复 待解决
如何使用canvas绘制圆角矩形
34浏览 • 1回复 待解决
如何操作canvas重新绘制
447浏览 • 1回复 待解决
Canvas如何触发刷新重复绘制
416浏览 • 1回复 待解决
如何获取文本对齐方式
369浏览 • 1回复 待解决
如何实现文本竖向排列
1111浏览 • 1回复 待解决
ArkTS实现Text文本【...展开】
419浏览 • 1回复 待解决
canvas怎么绘制资源目录下图片
285浏览 • 1回复 待解决
如何获取文本框里文字宽度
1263浏览 • 1回复 待解决
jsBridge中如何正确使用this
401浏览 • 1回复 待解决
鸿蒙-富文本如何添加图片
5572浏览 • 1回复 待解决
如何实现标签随文本换行
452浏览 • 1回复 待解决
如何实现文本展开收起功能
271浏览 • 1回复 待解决
实现文本编码和解码机制。
43浏览 • 1回复 待解决
如何拿到文本框文字宽度数值
28浏览 • 1回复 待解决