有熟悉canvas的大牛吗,如何在有背景的canvas上标注文字啊

yugiant 2019-05-08 10:35:20
我在页面里定义了一个MyCanvas:
var ctx = document.getElementById('myCanvas').getContext("2d");
var c = document.getElementById("myCanvas");
然后通过
var img = new Image();
img.src = "123abc.JPG";
img.onload = imgfn;//图片加载完在执行
function imgfn() {
var bg = ctx.createPattern(img, "no-repeat");//createPattern() 方法在指定的方向内重复指定的元素。
ctx.fillStyle = bg;//fillStyle 属性设置或返回用于填充绘画的颜色、渐变或模式。
ctx.fillRect(0, 0, c.width, c.height);//绘制已填充矩形fillRect(左上角x坐标, 左上角y坐标, 宽, 高)
}
设置了一个背景,现在这个背景上moveto(x,y), lineto(x,y)等都是可以的,但用fillText()标注文字就是显示不出来,但用alert()能提示要标注的文字
本人怀疑是不是fillText()标注到了canvas上而没有标注到背景图上
请问遇到这种问题如何解决
先谢了
...全文
547 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
yugiant 2019-05-09
  • 打赏
  • 举报
回复
都是高手,赞一个
天际的海浪 2019-05-09
  • 打赏
  • 举报
回复
引用 2 楼 yugiant 的回复:
[quote=引用 1 楼 usecf 的回复:] 你可以使用这个cxt2.strokeText('妙味课堂',100,100);代替fillText
大侠: 我用 ctx.font = '38px'; ctx.strokeText(txtWenzi, event.pageX - this.offsetLeft, event.pageY - this.offsetTop); 字可以显示了,但无论如何改变字号,字永远那么小,为什么 求帮助,谢谢 [/quote] 这个和css的font属性一样必须要加上字体名称才有效 ctx.font = '38px Arial';
yugiant 2019-05-09
  • 打赏
  • 举报
回复
引用 1 楼 usecf 的回复:
你可以使用这个cxt2.strokeText('妙味课堂',100,100);代替fillText
大侠: 我用 ctx.font = '38px'; ctx.strokeText(txtWenzi, event.pageX - this.offsetLeft, event.pageY - this.offsetTop); 字可以显示了,但无论如何改变字号,字永远那么小,为什么 求帮助,谢谢
usecf 2019-05-08
  • 打赏
  • 举报
回复
你可以使用这个cxt2.strokeText('妙味课堂',100,100);代替fillText

39,083

社区成员

发帖
与我相关
我的任务
社区描述
HTML5是构建Web内容的一种语言描述方式。HTML5是互联网的下一代标准,是构建以及呈现互联网内容的一种语言方式.被认为是互联网的核心技术之一。
社区管理员
  • HTML5社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧