【问题标题】:Masking of 2 UIImages in Retina Quality以 Retina 质量遮盖 2 个 UIImages
【发布时间】:2013-01-02 00:06:39
【问题描述】:

在尝试发布here 的答案后,返回的图像在视网膜显示器上的质量非常差。我的蒙版图像具有白色背景和黑色内容。

输出:https://dzwonsemrish7.cloudfront.net/items/22373o2Z260d3S051a05/Screenshot%202013.01.02%2000.04.57.png?v=34c4ab14

代码:

CGRect rect = CGRectMake(0.0f, 0.0f, 61.0f, 53.0f);
UIGraphicsBeginImageContextWithOptions(rect.size, NO, 2);
CGContextRef context = UIGraphicsGetCurrentContext();

CGContextSetFillColorWithColor(context, [UIColor blueColor].CGColor);
CGContextFillRect(context, rect);

UIImage *imageGradient = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

UIImage *toggleImage = [UIImage imageNamed:@"RotationToggle.png"];
UIImage *inputImage = imageGradient;
CGImageRef maskRef = toggleImage.CGImage;

CGImageRef mask = CGImageMaskCreate(CGImageGetWidth(maskRef),
                                    CGImageGetHeight(maskRef),
                                    CGImageGetBitsPerComponent(maskRef),
                                    CGImageGetBitsPerPixel(maskRef),
                                    CGImageGetBytesPerRow(maskRef),
                                    CGImageGetDataProvider(maskRef), NULL, false);

CGImageRef masked = CGImageCreateWithMask(imageGradient.CGImage, mask);
CGImageRelease(mask);

UIImage *maskedImage = [UIImage imageWithCGImage:masked scale:inputImage.scale orientation:0];
CGImageRelease(masked);

【问题讨论】:

    标签: objective-c ios uiimage retina-display mask


    【解决方案1】:

    我不完全确定,但请尝试更改此行:

    UIImage *toggleImage = [UIImage imageNamed:@"RotationToggle.png"];
    

    到这里:

    UIImage *toggleImage = [UIImage imageNamed:@"RotationToggle"];
    

    或天真:

    UIImage *toggleImage = [UIImage imageNamed:@"RotationToggle@2x.png"];
    

    问题是:我认为你通过这种方式分配它来强迫它使用低质量的图像。跳过扩展时,Xcode 会自动寻找 Retina 图像,如果存在就分配它。

    我可能错了,如果错了,对不起。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-21
      • 2016-12-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多