if(matrixRect.width()>=width){}else{ // 这里不就是小于吗}
if(matrixRect.width()>=width){}else{ // 这里不就是小于吗}
if(matrixRect.width()>=width){}else{ // 这里不就是小于吗}
2015-05-14
我是这样理解的:
首先判断图片的宽度大于等于屏幕宽度要做的操作---即不让屏幕出现白边,因为如果小于的话屏幕本身就会有空白出现。这里的rect.width就是通过mScaleMatrix放大或缩小后的图片宽度。
rect有四个值:left、right、top、bottom。
结合老师画的那个图来看,left值就是rect离屏幕左边的距离,这个值不能大于0,如果大于0则说明图片在屏幕内且小于了屏幕宽度,在偏移过程中屏幕左边会出现白边,也不能是负值,否则图片就超出了屏幕范围,右边会出现白边;而right值是不能小于屏幕宽度,否则也会出现白边,应该让right值等于屏幕的宽度,也就是我们屏幕的宽度减去rect.right的值。总的说来我们在这个if中要做的就是在图片偏移的过程中不能让left大于0,right小于屏幕宽度。下面的垂直方向控制同理。
也不知道这样理解对不对……
举报