绘制文本并添加到UIImage iOS 5/6
我有一个文本框,我想在其中写入文本添加到UIImage 如何将NSString绘制到UIImage 我搜索了很多例子,但没有一个是有效的。Xcode给了我很多错误 简单地说,我想为UIimage绘制一个NSString。UIImage的大小应与预定义的UIImageView相同,并放置在中间绘制文本并添加到UIImage iOS 5/6,ios,uiimage,core-graphics,draw,Ios,Uiimage,Core Graphics,Draw,我有一个文本框,我想在其中写入文本添加到UIImage 如何将NSString绘制到UIImage 我搜索了很多例子,但没有一个是有效的。Xcode给了我很多错误 简单地说,我想为UIimage绘制一个NSString。UIImage的大小应与预定义的UIImageView相同,并放置在中间 有什么想法吗?UIImage不是UIView的子视图,因此不能向其中添加子视图。此外,NSString不是UIView的子视图。如果您想在屏幕上显示内容,它们应该继承UIView 所以试试这个: 创建UII
有什么想法吗?UIImage不是UIView的子视图,因此不能向其中添加子视图。此外,NSString不是UIView的子视图。如果您想在屏幕上显示内容,它们应该继承UIView 所以试试这个: 创建UIImageView-将其图像属性设置为UIImage实例 创建UILabel-将其文本属性设置为NSString 将UILabel添加为UIImageView的子视图
最后,将UIImageView添加到当前的view Controller视图。我认为解决方案就在这里。我在我的一个应用程序中使用了此方法 这里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;
}
在你下面的评论中,你已经通过了iv.center作为一个要点。。像这样尝试一下
CGPoint point;
point.x=30; // dynamicaly just for example lblText.frame.origin.x;
point.y=40; //lblText.frame.origin.y;
你必须像这样调用上面的方法
UIImage *img = [self drawText:@"Test String" inImage:originalImage atPoint:point];
这里,img是UIImage的另一个应用程序,用于存储带有文本的新图像…调用此方法后,请使用img imager供您进一步使用
例如
[newimageviewObj setImage:img];
我希望这会对你有所帮助嗯,这里有一些想法。 我认为一个简单的方法是这样的:
PS:有些图像可能没有像CGImage这样的属性,而CGImage是需要的。所以,转换它。他问起绘图的问题,没有什么能阻止他在创建的UIImage上绘制一些文本,然后将其添加到UIImageView。当然,你是对的,但我仍然会保留答案,因为它提供了一个合理的替代方案。我现在找到了一个工作代码。但它看起来像是一幅放大了的低分辨率图像。我试图添加一个带有文本的子视图,但我不知道如何将该子视图添加到UIImageThank,我一到家就会尝试:)无法使其工作。我猜我做错了什么。我在做:[自绘文本:@“teest”在图像:测试图像在点:iv.center];testImage是一个实例变量UIImage*testImage。iv是我的图像视图,lblText是我视图中的UILabel。@EspenBirk我已经编辑了我的答案,请检查一下……告诉我你得到了什么。@P R J现在它工作正常了!非常感谢PRJ:D我试着像你描述的那样手动设置CGPoint,并想问你如何在UIImageView中居中,但后来我看到你已经写了它。如果删除手动CGPoint,它将位于UIImageView的中心。非常感谢:)