一:Paper.js中的Project和View的关系
总结一点:
paper.js中只有一个活跃的Project和view其中view是根据project来切换的,
因为一个project绑定了一个view,但是一个view可以同时绑定多个project;
一个project也只绑定一个活跃的layer,切换同样是用activate()如layer1.activate()
代码理解:
<canvas id="canvas1"></canvas>
<canvas id="canvas2"></canvas>
<script>
//1.初始化一个paper并且同时创建一个view1对应canvas1和一个project1绑定着view1或者说canvas1
paper.setup("canvas1")
##此时paper中的project为project1,view为view1
//2.初始化一个paper并且同时创建一个view2对应canvas2和一个project2绑定着view2或者说canvas2
paper.setup("canvas2")
##此时paper中的project为project2,view为view2
//3.单独创建一个project3对应canvas1,同时会默认创建一个layer
let project3=new Project("canvas1")
//4.将paper中的project切换为project3,view切换为view1
project1.activate()
##此时paper中的project为project3,view为view1
</script>
二;各Items之前的联系
代码理解:
paper.install(window)
window.οnlοad=function(){
paper.setup("myCanvas1")
var circle1=new Path.Circle(new Point(20,20),5)
var line=new Path(new Point(20,20),new Point(100,100))
var rect=new Path.Rectangle(100,100,60,60);
circle1.strokeColor='red'
line.strokeColor='red'
rect.strokeColor='red'
var text=new PointText({
content:'hello paper',
point:[66,66],
strokeColor:'red'
})
var group=new Group([circle1,line,rect,text])
group.strokeColor='blue'
group.position=paper.view.center
}