最近发现一个很坑的问题,就是在做缩放图像的时候,使用以下函数来做:
UIGraphicsBeginImageContext(size);
[image drawInRect:CGRectMake(0, 0, width, height)];
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
要是,你输入图像的宽高比和输出的图像宽高比对不上的话,就会多出几个像素点的边距。
这个时候,你就要对比一下了,如果输出图像比输入图像多1个像素点,那么,在边缘(一般是底部或者右边),就很有可能出现多余的1个像素。
如何处理?
如果输出图像尺寸小于输入图像,那就向下取整;
反之亦然。