绘制文本并添加到UIImage iOS 5/6

Esp*_*irk 5 core-graphics draw uiimage ios

我有一个文本框,我希望将书面文本添加到UIImage.

如何将NSString绘制为UIImage?

我搜索过,发现了很多例子,但没有一个例子.Xcode只是给了我很多错误.

简单地说,我想绘制一个NSString到UIimage.UIImage应与预定义的UIImageView大小相同,并放在中心位置.

有任何想法吗?

P R*_*R J 6

我认为解决方案就在这里..我在我的应用程序中使用了这个方法,lbltext是我标签的对象.此方法使用给定文本创建新图像并使用文本返回新图像的对象.

-(UIImage *) drawText:(NSString*) text inImage:(UIImage*)image atPoint:(CGPoint)point 
{
    UIFont *font = lblText.font;
    UIGraphicsBeginImageContext(iv.frame.size);
    [image drawInRect:CGRectMake(0,0,iv.frame.size.width,iv.frame.size.height)];
    CGRect rect = CGRectMake(point.x,point.y,lblText.frame.size.width, lblText.frame.size.height);
    [lblText.textColor set];
    [text drawInRect:CGRectIntegral(rect) withFont:font]; 
    UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    return newImage;
}
Run Code Online (Sandbox Code Playgroud)

在你的下面的评论,你已经通过iv.center作为一个点..尝试manualy像这样

CGPoint point;
point.x=30; // dynamicaly just for example lblText.frame.origin.x;
point.y=40; //lblText.frame.origin.y;
Run Code Online (Sandbox Code Playgroud)

你必须像这样调用上面的方法......

UIImage *img = [self drawText:@"Test String" inImage:originalImage atPoint:point];
Run Code Online (Sandbox Code Playgroud)

在这里,img是用于存储带有文本的新图像的UIImage的另一个实例...在调用此方法之后使用img imager供您进一步使用..

例如...

[newimageviewObj setImage:img];
Run Code Online (Sandbox Code Playgroud)

我希望这能帮到您