1

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

captureView用来捕捉和cropView裁剪部分。这是我的原始图像,这是我的输出图像。我想要清晰的图像。我试图将比例设为 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;
}
4

1 回答 1

0

你是如何检查生成的图像的?您是否将其保存为质量损失的 JPG?尝试使用 PNG 表示来获得无损结果

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

于 2013-07-28T10:48:06.870 回答