我正在圖像上繪製文本。文本沒有任何問題,但我的文本是動態的,有時更多的字符或有時更少。帶文本的圖像上的DrawText調整爲圖像的大小
從下面的圖像可以看到「這是超長短信超過320寬度圖像的多,圖像那不來的。
我要顯示在未來的所有消息行,因爲我的信息是動態的,我想在320 * 480大小的圖片來顯示它,我在這裏只是用於測試目的顯示小圖像
這是代碼繪製文字:
-(UIImage *)addText:(UIImage *)img text:(NSString *)text1{
int w = img.size.width;
int h = img.size.height;
//lon = h - lon;
CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
CGContextRef context = CGBitmapContextCreate(NULL, w, h, 8, 4 * w, colorSpace, kCGImageAlphaPremultipliedFirst);
CGContextDrawImage(context, CGRectMake(0, 0, w, h), img.CGImage);
CGContextSetRGBFillColor(context, 0.0, 0.0, 1.0, 1);
char* text = (char *)[text1 cStringUsingEncoding:NSASCIIStringEncoding];
CGContextSelectFont (context, // 3
"Helvetica-Bold",
15,
kCGEncodingMacRoman);
CGContextSetTextDrawingMode(context, kCGTextFill);
CGContextSetRGBFillColor(context, 255, 255, 255, 1);
CGContextShowTextAtPoint(context, 4, 52, text, strlen(text));
CGImageRef imageMasked = CGBitmapContextCreateImage(context);
CGContextRelease(context);
CGColorSpaceRelease(colorSpace);
return [UIImage imageWithCGImage:imageMasked];
}
是文字必須的嗎?如果沒有,使用UILabel是一種更簡單的方法 – Jing
實際上我並不希望文本顯示在圖像上,我的消息是動態的,我應該將該消息放在圖像上。 – krish
使用標籤有可能嗎? – krish