을 그려 원인 SetTextDrawingMode :아이폰 OS : CGContext는 다른 문자가 충돌/텍스트가 내가 이미지 위에 텍스트를 그릴 이러한 기능을 사용하고
char* text = (char *)[text1 cStringUsingEncoding:NSASCIIStringEncoding];
CGContextSelectFont(context, "Helvetica", fontSize, kCGEncodingMacRoman);
CGContextSetTextDrawingMode(context, kCGTextFill);
CGContextSetRGBFillColor(context, 0.0, 0.1, 0.1, 1);
CGContextShowTextAtPoint(context, 5, 20, text, strlen(text));
그것은 내가 같은 "U"로 문자가있는 경우를 제외하고 잘 작동 " ö ","ä "등을 strlen과 함께 사용하면 충돌이 발생할 수 있습니다. 그래서이 줄 앞에 이것을 사용하여 문자열의 길이를 얻으려고 시도했습니다.
char* text = (char *)[text cStringUsingEncoding:NSASCIIStringEncoding];
by doing this:
int length = [text length];
and then replace strlen(text) with length.
크래시는 발생하지 않지만 텍스트는 그려지지 않습니다. 나는 범인이 여기 있다고 생각해. 나는 둘 다 시도했다.
kCGEncodingMacRoman
kCGEncodingFontSpecific
아무 것도 도움이되지 않았다. 이거 할 수있어? 감사. @Martin R : UPDATED
는
CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
CGContextRef context = CGBitmapContextCreate(NULL, 90.0f, 90.0f, 8, 4 * 90.0f, colorSpace, kCGImageAlphaPremultipliedFirst);
CGContextDrawImage(context, CGRectMake(0, 0, 90.0f, 90.0f), img.CGImage);
CGContextSetTextDrawingMode(context, kCGTextFill);
CGContextSetRGBFillColor(context, 0.8, 0.1, 0.1, 1);
[text1 drawAtPoint:(CGPoint){5, 20} withFont:[UIFont fontWithName:@"Helvetica" size:10.0f]];
CGImageRef finalImage = CGBitmapContextCreateImage(context);
CGContextRelease(context);
CGColorSpaceRelease(colorSpace);
UIImage *image = [UIImage imageWithCGImage:finalImage];
CGImageRelease(finalImage);
return image;
내가 오타 또는 복사/붙여 넣기 있다고 가정 : 그래서 당신은
또는 사용하여 문자열을 변환해야합니다, 당신은 자동으로 유니 코드 문자를 처리
NSString
의drawAtPoint:withFont:
방법을 사용할 수 있습니다 'char * text = (char *) [text ...]'의 양쪽에'text'를 사용했다는 오류가 있습니까? –