天天看點

【iOS】UIImage 等比率縮放

這兩天處理引導頁面的時候遇到了圖檔略大的問題,上網查找後找到了解決方法。用的是 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;
}      

繼續閱讀