中易网

html5 javascript实现canvas里边多图层显示怎么弄

答案:2  悬赏:50  
解决时间 2021-02-11 03:54
html5 javascript实现canvas里边多图层显示怎么弄
最佳答案
html5中的canvas本身的API是不存在图层概念的。要想实现实现多图层功能,必须要使用多个canvas对象,不过这些canvas对象,是在内存中的,而不是在html的元素树中。每个canvas维持一个图层就可以,然后主canvas是负责显示最后的合成的效果。
js动态创建canvas对象如下:
var layer1=document.createElement('canvas');
layer1.width=800;
layer1.height=600;
var layer1_canvas=layer1.getContext('2d');
var layer2=document.createElement('canvas');
layer2.width=800;
layer2.height=600;
var layer2_canvas=layer1.getContext('2d');
layer1_canvas.drawSomething();
layer2_canvas.drawSomething();
canvas.save()//用来显示的canvas
canvas.globalCompositeOperation="destination-over";//设置多个图层如何混合,这个可以百度canvas混合模式,这个和PS是相近的

canvas.drawImage(layer1,0,0,800,600,0,0,800,600)
canvas.drawImage(layer2,0,0,800,600,0,0,800,600)
canvas.restore();
这样就把两个图层绘制在一个图层中,单独改变任一个图层都不会改变其他图层。不明白可追问。
全部回答
wo xiang hui da .ke shi tu pian chuan bu shang lai
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
庄子,老子和谁并称三玄
国投家是一个什么网站?靠谱么?
有鹿晗的粉丝用鹿晗在梦想星搭档的图片制作了
阴历一九六八年十二月初一出生的男是什么座
指说话分量轻的成语
五塘这个地址在什么地方,我要处理点事
名爵锐腾音响效果怎么样
有家旅店怎么去啊,有知道地址的么
透光率表示为什么选用550nm波长,即用T550来
有谁知道,三星洗衣机XQB30-F86S电脑主板,在哪
手机进入刷机模式怎么退出
长寿居我想知道这个在什么地方
《燕子》 课后练习
落花有意,流水无情.人往高处走,水往低处流,流
qq飞车以后还会出觉醒赛车吗
推荐资讯
名词解释 1. .股票 2.. 债券 3. .基金 4. .金
设计素材哪个网站最好 最全
怎么往土豆上传视频?
刚刚加入加入金日直销现在不想干了怎么退出
北尹村地址有知道的么?有点事想过去
魅族m681C快捷开关秒退什么情况该怎么解决。
企业单位搬家方案有哪几种
2016河北单招专业是文理兼收吗
给新生婴儿参医保的前提是父母双方必须都参保
比喻句 在人生的旅途中牵挂是____的____ _
中国南方电网广东电网公司曲溪营业厅怎么去啊
成都有哪些生产防水材料的厂家
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?