希望快一点?我正在创建一个自定义的uitableviewcell并添加了一个imageview。 我有一些大约200x200的PNG图像。我想创建一个缩略图以放入tableview,但是当我调整图像大小时,会导致图像质量不佳。
我使用UIViewContentModeScaleAspectFit
将其调整为50x50帧。
在把它放到表格单元格之前,我应该在每张图像上调用更好的绘图调整大小吗?每张桌子上会有大约20-40张图片,所以我不想过度使用该设备!!
感谢您的帮助。
答案 0 :(得分:2)
使用CoreGraphics自行重新调整图像可以让您更好地控制图像质量,但最好的办法是首先适当调整图像大小 - 软件必须做的工作少,并完全控制图像外观
如果您仍想在Quartz中调整它们的大小,可以采用以下方法:
UIImage* originalThumbnail = [UIImage imageWithContentsOfFile:<PATH_TO_IMAGE>];
CGSize originalSize = [originalThumbnail size];
CGSize cropSize = { 50, 50 };
CGRect cropRect = CGRectMake(abs(cropSize.width - originalSize.width)/2.0, abs(cropSize.height - originalSize.height)/2.0, cropSize.width, cropSize.height);
CGImageRef imageRef = CGImageCreateWithImageInRect([originalThumbnail CGImage], cropRect);
// here's your cropped UIImage
UIImage* croppedThumbnail = [UIImage imageWithCGImage:imageRef];
CGImageRelease(imageRef);
如果可能,您希望这样做一次,即不是每次构建UITableViewCell时都这样做。