我對處理圖像有點新,有很多事情我不知道,所以請耐心等待。基本上我用相機拍攝圖像,並將其呈現在UIImageView
內,這是小視圖60:80。圖像自動調整大小以適合UIImageView
,並且一切看起來都很好。iOS調整大拇指圖片大小?
我的問題是 - 我是否需要做更多的圖像操作(爲了最大限度地提高效率),或者這一切?
我對處理圖像有點新,有很多事情我不知道,所以請耐心等待。基本上我用相機拍攝圖像,並將其呈現在UIImageView
內,這是小視圖60:80。圖像自動調整大小以適合UIImageView
,並且一切看起來都很好。iOS調整大拇指圖片大小?
我的問題是 - 我是否需要做更多的圖像操作(爲了最大限度地提高效率),或者這一切?
Resize
image
function
是:在document directory
與unique names
-(UIImage *)resizeImage:(CGSize)imgSize
UIGraphicsBeginImageContext(imgSize);
[image drawInRect:CGRectMake(0,0,imgSize.width,imgSize.height)];
UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return newImage;
}
Save
調整後的圖像。後來從document directory
access thumbnail image
。
如果圖像的數量是more
比使用圖像顯示圖像的lazy loading
。
請使用如下代碼這將讓你更好的縮略圖
-(UIImage *)generatePhotoThumbnail:(UIImage *)image
{
CGSize size = image.size;
CGSize croppedSize;
CGFloat ratio = 120.0;
CGFloat offsetX = 0.0;
CGFloat offsetY = 0.0;
if (size.width > size.height) {
offsetX = (size.height - size.width)/2;
croppedSize = CGSizeMake(size.height, size.height);
} else
{
offsetY = (size.width - size.height)/2;
croppedSize = CGSizeMake(size.width, size.width);
}
CGRect clippedRect = CGRectMake(offsetX * -1, offsetY * -1, croppedSize.width, croppedSize.height);
CGImageRef imageRef = CGImageCreateWithImageInRect([image CGImage], clippedRect);
CGRect rect = CGRectMake(0.0, 0.0, ratio, ratio);
UIGraphicsBeginImageContext(rect.size);
[[UIImage imageWithCGImage:imageRef] drawInRect:rect];
UIImage *thumbnail = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
CGImageRelease(imageRef);
return thumbnail;
}
如果你很高興與顯示畫面的方式,那麼你不需要任何額外的代碼。圖像視圖對您的圖像重新縮放沒有任何問題,它們在這方面效率很高,所以不要擔心。