问下canvas的context使用方式

谁用了我的英文名 2016-01-26 09:50:43
当然我们都知道var context = canvas.getContext("2d");
那么我的问题是,这个context是一个什么样的东西,一个canvas可以创建多个context,还是多个canvas使用同一个context?

在真实使用的过程中,我可能要创建一些不同颜色、不同形状的东西

方案1:创建一个唯一的context,到处用

var Drawer1 = {
draw : function(context){
//balala...
context;
}
}
//...
var context = canvas.getContext("2d");
Drawer1.draw(context);
Drawer2.draw(context);
Drawer3.draw(context);
Drawer4.draw(context);


方案2:在每个用到的地方创建不同的context,各用个的

var Drawer1 = {
context : canvas.getContext("2d"),
draw : function(){
//balala...
this.context;
}
}
//...
Drawer1.draw();
Drawer2.draw();
Drawer3.draw();
Drawer4.draw();


方案3:每次调用的时候,现造

var Drawer1 = {
draw : function(){
//balala...
canvas.getContext("2d");
}
}
//...
Drawer1.draw();
Drawer2.draw();
Drawer3.draw();
Drawer4.draw();
...全文
226 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 3 楼 jintianhen1 的回复:
第二种和第三种有区别么,我觉得一个 canvas对应一个 context, 只要 是同一个 canvas,每次获取的context应该都是一个
我表示这方面的东西比较抓瞎,我没做过SE开发,所以不明白画笔和画布之间是怎么协作的
静山晚风 2016-01-27
  • 打赏
  • 举报
回复
第二种和第三种有区别么,我觉得一个 canvas对应一个 context, 只要 是同一个 canvas,每次获取的context应该都是一个
  • 打赏
  • 举报
回复
问题就是:哪个方案是对context的正确理解呢? 或者说,这三个方案在性能上有什么样的不同?又会产生什么样的差异结果
  • 打赏
  • 举报
回复
求助ing...

81,090

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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