UIViewContentModeScaleAspectFit iphone sdk 提供质量差的图像

Posted

技术标签:

【中文标题】UIViewContentModeScaleAspectFit iphone sdk 提供质量差的图像【英文标题】:UIViewContentModeScaleAspectFit iphone sdk gives poor quality image 【发布时间】:2010-10-20 13:14:10 【问题描述】:

希望快一点?我正在创建一个自定义的 uitableviewcell 并添加了一个 imageview。 我有一些大小约为 200x200 的 PNG 图像。我想创建一个缩略图放在 tableview 中,但是当我调整图像大小时,它会导致图像质量很差。

我使用UIViewContentModeScaleAspectFit 将其调整为 50x50 帧。

在将每个图像放到表格单元格之前,我是否应该在每个图像上调用更好的绘制调整大小?每张桌子大约有 20-40 张图片,所以我不想过度使用设备!!

感谢您的帮助。

【问题讨论】:

【参考方案1】:

使用 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。

【讨论】:

谢谢。我必须事先考虑创建缩略图 - 我总共有大约 700 张图像。我想将二进制文件保持在最低限度!

以上是关于UIViewContentModeScaleAspectFit iphone sdk 提供质量差的图像的主要内容,如果未能解决你的问题,请参考以下文章