이 문제로 저를 죽입니다. 나는 무엇이 잘못 될지 모른다. 그러나 다음 코드는 이미지를 거꾸로 뒤집습니다. 사실 수직 플립을하고 왜 그런지 모르겠습니다.CGContextRef => CGImageRef => CIImage => CGImageRef => CGContextDrawImage 체인이 이미지를 거꾸로 뒤집습니다.
UIFont *font = [UIFont fontWithName:fontName size:fontSize];
NSMutableDictionary *attributes = [[NSMutableDictionary alloc] init];
[attributes setObject:font forKey:NSFontAttributeName];
[attributes setObject:[NSNumber numberWithFloat:kStrokeWidth] forKey:NSStrokeWidthAttributeName];
[attributes setObject:[UIColor redColor] forKey:NSStrokeColorAttributeName];
[attributes setObject:style forKey:NSParagraphStyleAttributeName];
[text drawInRect:drawRect withAttributes:attributes];
[attributes removeObjectForKey:NSStrokeWidthAttributeName];
[attributes removeObjectForKey:NSStrokeColorAttributeName];
[attributes setObject:[UIColor blueColor] forKey:NSForegroundColorAttributeName];
[text drawInRect:drawRect withAttributes:attributes];
CGImageRef cgImg = CGBitmapContextCreateImage(context);
CIImage *beginImage = [CIImage imageWithCGImage:cgImg];
CIContext *cicontext = [CIContext contextWithOptions:nil];
CGImageRef cgimg = [cicontext createCGImage:beginImage fromRect:[beginImage extent]];
CGContextDrawImage(context, [beginImage extent] , cgimg);
CGImageRelease(cgImg);
CGImageRelease(cgimg);
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
이것은이 발생합니다 :
왜, 오, 왜?
당신이 회전을 잃고 왜 당신은 또한 만드는 CIContext – Andrea
나는 CIContet 렌더링을 만들 수 있습니다 : 내가 그리는 동안 당신이 수직으로 초기 CGContextRef 플립하는 것이 좋습니다? CIImage를 CGImageRef로 되 돌린다. 무슨 회전 말이에요? – Teddy