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