IOS UIImage图像颠倒
如果我画了我的图像,我用CGaffinTransform解决了这个问题IOS UIImage图像颠倒,ios,uiimage,jpeg,draw,Ios,Uiimage,Jpeg,Draw,如果我画了我的图像,我用CGaffinTransform解决了这个问题 CGAffineTransform myTr = CGAffineTransformMake(1, 0, 0, -1, 0, backImage.size.height); CGContextConcatCTM(context, myTr); [backImage drawInRect:CGRectMake(cbx, -cby, backImage.size.width, backImage.size.height)]; m
CGAffineTransform myTr = CGAffineTransformMake(1, 0, 0, -1, 0, backImage.size.height);
CGContextConcatCTM(context, myTr);
[backImage drawInRect:CGRectMake(cbx, -cby, backImage.size.width, backImage.size.height)];
myTr = CGAffineTransformMake(1, 0, 0, -1, 0, backImage.size.height);
CGContextConcatCTM(context, myTr);
当我想写文件的时候
我用这个
NSData *imageData = UIImageJPEGRepresentation(backImage, 0);
然后图像颠倒过来
如何保存?如果要保存UIImage,请使用:
UIGraphicsBeginImageContextWithOptions(size, isOpaque, 0);
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextDrawImage(context, (CGRect){ {0,0}, origSize }, [origImage CGImage]);
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return image;
然后做:
NSData *imageData = UIImageJPEGRepresentation(backImage, 0);
首先制作单位矩阵
1, 0, 0
0, 1, 0
0, 0, 1
CGAffineTransform matrix = CGAffineTransformMake(1, 0, 0, 1, 0, 0);
移动绘图位置
matrix = CGAffineTransformTranslate(matrix, x, y);
水平翻转矩阵
matrix = CGAffineTransformScale(matrix, -1, 1);
垂直翻转矩阵
matrix = CGAffineTransformScale(matrix, 1, -1);
旋转矩阵
matrix = CGAffineTransformRotate(matrix, angle);
将缩放UIImage适配到UIView
matrix = CGAffineTransformScale(matrix, imageWidth/viewWidth, imageheight/viewHeight);
在上下文中启动矩阵
CGContextConcatCTM(context, matrix);
画图像
[backImage drawAtPoint:CGPointMake(0, 0)];
:)你从哪里获得背景图像?你不能用一次转换来翻转上下文吗?我画它,就像CGContextBeginPath。。。。CGContextMove….(0,0)CGContextAddLines….CGContextFillPath…..苹果在WWDC上一再告诉我们在渲染图像时使用上述方法。