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

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

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

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

感谢您的帮助。

【问题讨论】:

    标签: iphone resize uiimageview uiimage


    【解决方案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 张图像。我想将二进制文件保持在最低限度!
    猜你喜欢
    • 1970-01-01
    • 2015-04-23
    • 2020-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-09
    • 2021-02-16
    相关资源
    最近更新 更多