我需要捕捉视图,然后我必须裁剪该视图的某些部分。
我正在使用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;
}
答案 0 :(得分:0)
您是如何检查生成的图像的?你把它保存为质量损失的JPG吗?尝试使用PNG表示无损结果
另外,将比例常数2.0f更改为[[UIScreen mainscreen] scale]
以使其与设备无关。