ジェスチャーを使用して画像を回転、サイズ変更、翻訳できるアプリケーションを作成しました。次に、から画像を取得する必要がありUIImageView
ます。私はコードのこの部分をStack-overflowのどこかで見つけました。スマイラーの質問はここで答えられますが、角度の入力が必要です。同じ人が、私が使用しているより良い解決策をどこか別の場所に書きました。しかし、問題があります。多くの場合、空白の画像が返されます。または切り捨てられた画像(多くの場合、上面から)。そのため、コードに問題があり、いくつかの変更が必要です。私の問題は、私はCore-graphicsに不慣れで、この問題にひどく立ち往生しているということです。
UIGraphicsBeginImageContext(imgView.image.size);
CGContextRef context = UIGraphicsGetCurrentContext();
CGAffineTransform transform = imgView.transform;
transform = CGAffineTransformScale(transform, 1.0, -1.0);
CGContextConcatCTM(context, transform);
CGContextDrawImage(context, CGRectMake(0, 0, imgView.image.size.width, imgView.image.size.height), imgView.image.CGImage);
UIImage *newRotatedImage = [UIImage imageWithCGImage: CGBitmapContextCreateImage(context)];
UIGraphicsEndImageContext();
編集1.1 サンプルコードをありがとう、しかし再びそれは問題を抱えています。さらに詳しく説明します。私は、imageviewを使用して画像を拡大縮小、変換、およびサイズ変更するためにジェスチャーを使用しています。したがって、このすべてのデータは、imageviewのtransformプロパティに保存されます。私はcore-imageで別の方法が好きです。そこで、コードを次のように変更しました。
CGRect bounds = CGRectMake(0, 0, imgTop.size.width, imgTop.size.height);
CIImage *ciImage = [[CIImage alloc] initWithCGImage:imageView.image.CGImage options:nil];
CGAffineTransform transform = imgView.transform;
ciImage = [ciImage imageByApplyingTransform:transform];
return [UIImage imageWithCIImage:ciImage] ;
今、私は圧迫されて間違ったサイズの鏡像を取得しています。またご迷惑をおかけして申し訳ありません。coreimageでimageviewの変換を使用して適切な画像を取得する方法を教えていただけますか?