2

私は 1 つ持っていUIImageViewます。そのコンテンツ モードは に設定されていAspectFitます。

[imageView setContentMode:UIViewContentModeScaleAspectFit].

subImageこの画像から切り抜く必要があります。これは、画像をトリミングするコードです。

CGImageRef imageRef = CGImageCreateWithImageInRect([imageView.image CGImage], customRect);
UIImage *cropped = [UIImage imageWithCGImage:imageRef];
CGImageRelease(imageRef);

customRect画像をトリミングする必要がある四角形はどこにありますか。

これは私がそれを計算する方法です:

CGRect customRect = CGRectMake((cropView.frame.origin.x/xFactor),
                               (cropView.frame.origin.y/yFactor),
                               (cropView.frame.size.width/xFactor),
                               (cropView.frame.size.height/yFactor));

問題はトリミングです。CGImageCreateWithImageInRect実際の画像サイズに応じて、指定された領域をトリミングします。場合によっては、画像ビューのサイズよりも大きくなります。などの他のアプローチを使用してみましUIGraphics:getImageFromCurrentImageContextたが、これらは画質を低下させるほど画質を維持しません。

4

0 に答える 0