UIImageをX軸、Y軸、またはその両方に沿って反転させるメソッドを作成しようとしています。私は近くに近づいていますが、私の変革の知識はそれだけで十分ではありません。ここに私が今まで持っているコードはあります:どちらかの軸に沿ってUIImageを反転
- (UIImage *)flippedImageByAxis:(MVImageFlip)axis{
UIGraphicsBeginImageContext(self.size);
CGContextRef context = UIGraphicsGetCurrentContext();
CGAffineTransform verticalFlip = CGAffineTransformMake(1, 0, 0, -1, 0, self.size.height);
CGAffineTransform horizFlip = CGAffineTransformMake(-1.0, 0.0, 0.0, 1.0, self.size.width, 0.0);
if(axis == MVImageFlipXAxis || axis == MVImageFlipXAxisAndYAxis)
CGContextConcatCTM(context, horizFlip);
if(axis == MVImageFlipYAxis || axis == MVImageFlipXAxisAndYAxis)
CGContextConcatCTM(context, verticalFlip);
CGContextDrawImage(context, CGRectMake(0.0, 0.0, self.size.width, self.size.height), [self CGImage]);
UIImage *flipedImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return flipedImage;
}
これは正しく反転しません。 Y反転画像はまったく反転されず、X反転画像はXY画像のように見え、XY画像はY画像のように見えます。変換を組み合わせて、それらが正しく動作するようにすることは、私の頭を傷つけることです。
MVImageFlip列挙型は、コードに表示されている3つの列挙型です。特にない。
私はイメージが好きです'UIGraphicsBeginImageContextWithOptions(self.size、false、self.scale);' –