UIView的快照变得模糊。需要解决方案

时间:2013-07-28 10:43:35

标签: ios objective-c image uiview

我需要捕捉视图,然后我必须裁剪该视图的某些部分。

我正在使用captureView来抓取并cropView来裁剪部分。这是我原来的image,这是我的输出image。我想要清晰的形象。我试图将比例缩小为0.0f,但它不起作用。任何建议都可以接受。

- (UIImage *)captureView:(UIView *)view {
    CGRect rect = [view bounds];
    UIGraphicsBeginImageContextWithOptions(rect.size,NO,2.0f);
    CGContextRef context = UIGraphicsGetCurrentContext();
    [view.layer renderInContext:context];
    UIImage *capturedImage = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    return capturedImage;

}
- (UIImage *) cropView:(UIImage *)originalImage frame:(CGRect)frame{
    CGImageRef imageRef = CGImageCreateWithImageInRect([originalImage CGImage], frame);

    UIImage *croppedImage = [UIImage imageWithCGImage:imageRef];
    CGImageRelease(imageRef);

    return croppedImage;
}

1 个答案:

答案 0 :(得分:0)

您是如何检查生成的图像的?你把它保存为质量损失的JPG吗?尝试使用PNG表示无损结果

另外,将比例常数2.0f更改为[[UIScreen mainscreen] scale]以使其与设备无关。