這兩天處理引導頁面的時候遇到了圖片略大的問題,上網查找后找到了解決方法。用的是 UIImage 的等比率縮放,雖然不難,但之前沒接觸過,故記之。
代碼如下:
- (UIImage *)scaleImage:(UIImage *)image toScale:(float)scaleSize { UIGraphicsBeginImageContext(CGSizeMake(image.size.width * scaleSize, image.size.height * scaleSize); [image drawInRect:CGRectMake(0, 0, image.size.width * scaleSize, image.size.height * scaleSize)]; UIImage *scaledImage = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); return scaledImage; }
我用的時候稍作了改動(為了讓圖片更好的適應各個尺寸的屏幕,這里的縮放是根據屏幕的大小來的),代碼如下:
- (UIImage *)scaleImage:(UIImage *)image toScale:(float)scaleSize
{ UIGraphicsBeginImageContext(CGSizeMake([UIScreen mainScreen].bounds.size.width * scaleSize, [UIScreen mainScreen].bounds.size.width * scaleSize)); [image drawInRect:CGRectMake(0, 0, [UIScreen mainScreen].bounds.size.width * scaleSize, [UIScreen mainScreen].bounds.size.width * scaleSize)]; UIImage *scaledImage = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); return scaledImage; }
主要參考:關於UIImage圖片處理詳細使用