Skip to content

缩放(scale)我有一个疑问 #83

Open
@NathansLiu

Description

@NathansLiu
  RectF rect1 = new RectF(0,-200,200,0);   // 矩形区域
 Paint paint1= new Paint();
 paint1.setColor(Color.BLACK);
 Paint paint2= new Paint();
 paint2.setColor(Color.BLUE);

 canvas.drawRect(rect1,paint1);
 canvas.scale(0.5f,0.5f,100,0);
//画一个缩放前 矩形蓝
 canvas.drawRect(rect1,paint2);

1

  RectF rect1 = new RectF(0,-200,200,0);   // 矩形区域
 Paint paint1= new Paint();
 paint1.setColor(Color.BLACK);
 Paint paint2= new Paint();
 paint2.setColor(Color.BLUE);

 canvas.drawRect(rect1,paint1);
 canvas.scale(0.5f,0.5f,200,0);
//画一个缩放前 矩形蓝
 canvas.drawRect(rect1,paint2);

2

我将蓝色矩形第一次移动100,缩放中心移动100,位于黑色矩形底部中心。
然而第二次移动200,缩放中心应该在黑色矩形右边线上,目测只是移动了50。
那么移动距离究竟从哪里测量才对?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions