scale(sx,sy)是用来缩放坐标的,按照w3school的说法,参数sx和sy是指原来坐标的SX(SY)倍
这就是说如果设置scale(2,2),意思是x坐标和y坐标都是原来的两倍,也即是(100,100)变成(200,200);scale(1,1)就是都不变。
但是尝试在Dreamweaver(应该是webkit内核)和firefox中scale(1,1),结果是扩大一倍的意思,也即是原来的两倍,有木有高手能准确说明一下这两个参数到底什么意思?

解决方案 »

  1.   

    本帖最后由 net_lover 于 2012-09-20 21:06:30 编辑
      

  2.   

    我知道各种文档似乎都是表示scale(1.1)是不变的意思,但是实际测试下来都是扩大一倍的意思?!!
      

  3.   

    抱歉,似乎是我自己fillRect的像素搞错了
      

  4.   

    我觉得你应该检查下代码看看.  1,1是不变是肯定是对的.w3school的原话是"scale() 方法为画布的当前变换矩阵添加一个缩放变换。缩放通过独立的水平和垂直缩放因子来完成。例如,传递一个值 2.0 和 0.5 将会导致绘图路径宽度变为原来的两倍,而高度变为原来的 1/2。指定一个负的 sx 值,会导致 X 坐标沿 Y 轴对折,而指定一个负的 sy 会导致 Y 坐标沿着 X 轴对折。"不对你还是有点理解不正确.
    它是缩放矩形,而不是你说的点.如果是点的话, 参数应该只有一个才对
    new Point(x, y).scale(1.5);
    这样的scale只是将点x,y到0,0的斜边长度延长.