日期:2014-05-16  浏览次数:20320 次

矩形等比缩放问题
做了一个矩形,鼠标放在右下角时可以放大与缩小
现在在保持等比时出现问题
算法为:
curWidth=?
curHeight=oldHeight*curWidth/oldWidth
现在的问题是:
如果原宽1000,高10,移动了1(根据鼠标移动多少实时调整矩形大小)
按照这样的算法:结果高还是10,不能等比了

请问有什么好的算法


------解决方案--------------------
old
20 * 10

new
25 * 12.5

newWidth * (newWidth / (oldWidth/oldHeight))
------解决方案--------------------
像素本来就是以1为单位的,不支持小数
宽度有1000像素,高度只有10
在屏幕上连成一条线,你会发现有有1000个像素点,并且是分成10行依次排开

所以lz所谓的等比不可能是绝对的,只能做到相对
------解决方案--------------------
mark