0
對於給定的UIImage,我的目標是生成另一個UIImage,它是原始圖像的對角鏡像版本。我正在使用Core Graphics來實現這一點。iOS:如何使用核心圖形對角鏡像圖像
我的嘗試是,以生成仿射變換矩陣爲對角鏡操作如下:
| 0 1 0 |
| 1 0 0 |
| 0 0 1 |
但是得到的圖像來作爲旋轉的圖像,而不是對角鏡像...
更具體地說,這裏是我試過的代碼:
+ (UIImage *)mirrorImageDiagonal:(UIImage *)fromImage
{
CGContextRef mainViewContentContext = MyCreateBitmapContext(fromImage.size.width, fromImage.size.height);
CGAffineTransform transform = CGAffineTransformIdentity;
transform.a = 0;
transform.b = 1;
transform.c = 1;
transform.d = 0;
transform.tx = 0;
transform.ty = 0;
CGContextConcatCTM(mainViewContentContext, transform);
// draw the image into the bitmap context
CGContextDrawImage(mainViewContentContext, CGRectMake(0, 0, fromImage.size.width, fromImage.size.height), fromImage.CGImage);
// create CGImageRef of the main view bitmap content, and then release that bitmap context
CGImageRef reflectionImage = CGBitmapContextCreateImage(mainViewContentContext);
CGContextRelease(mainViewContentContext);
// convert the finished reflection image to a UIImage
UIImage *theImage = [UIImage imageWithCGImage:reflectionImage];
// image is retained by the property setting above, so we can release the original
CGImageRelease(reflectionImage);
return theImage;
}
與變換矩陣的問題?或者我如何使用Core Graphics?