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 に答える