【问题标题】:How to make the CGImage resolution dependence?如何使CGImage分辨率依赖?
【发布时间】:2013-08-07 10:49:58
【问题描述】:

我想裁剪一张图片,所以我谷歌,找到了这篇文章:

http://iosdevelopertips.com/graphics/how-to-crop-an-image.html

但问题出在这一行:

CGImageRef imageRef = CGImageCreateWithImageInRect([image CGImage], rect);

我意识到如果图像在非视网膜显示器上,它会完美切割,但如果在视网膜设备上,矩形框架的宽度和高度需要倍数 2。但问题是,我该如何制作它更通用? (我不想检测设备)谢谢。

【问题讨论】:

    标签: ios uiimageview uiimage cgimage


    【解决方案1】:

    用下面的代码克服了同样的问题:

    -(UIImage *)imageFromImage:(UIImage *)image inRect:(CGRect)rect {
    rect.size.height = rect.size.height * [image scale];
    rect.size.width = rect.size.width * [image scale];
    rect.origin.x = rect.origin.x * [image scale];
    rect.origin.y = rect.origin.y * [image scale];
    CGImageRef sourceImageRef = [image CGImage];
    CGImageRef newImageRef = CGImageCreateWithImageInRect(sourceImageRef, rect);
    UIImage *newImage = [UIImage imageWithCGImage:newImageRef scale:[image scale] orientation:[image imageOrientation]];
    CGImageRelease(newImageRef);
    return newImage;
    }
    

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-07-14
      • 2022-01-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-19
      • 1970-01-01
      相关资源
      最近更新 更多