Dibuje text y agregue a UIImage iOS 5/6

Tengo un textbox, donde quiero que el text escrito se agregue a un UIImage.

¿Cómo puedo dibujar NSString a un UIImage?

He buscado y he encontrado muchos ejemplos, pero ninguno de ellos funciona. Xcode solo me da muchos errores.

En pocas palabras, quiero dibujar un NSString en una UIimage. El UIImage debe tener el mismo tamaño que un UIImageView pnetworkingefinido, y colocarse en el centro.

¿Algunas ideas?

Creo que la solución está aquí … he usado este método en una de mis aplicaciones aquí lbltext es el object de mi label. este método crea una nueva image con el text dado y devuelve el object de una nueva image con text.

-(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; } 

En su comentario a continuación, ha aprobado iv.center como un punto … intente manualmente como este

 CGPoint point; point.x=30; // dynamicaly just for example lblText.frame.origin.x; point.y=40; //lblText.frame.origin.y; 

tienes que llamar al método anterior como este …

 UIImage *img = [self drawText:@"Test String" inImage:originalImage atPoint:point]; 

aquí, img es otra instancia de UIImage para almacenar una image nueva con text … después de llamar a este método, use img imager para su uso posterior.

por ejemplo…

 [newimageviewObj setImage:img]; 

Espero que esto ayude

UIImage no es una subvista de UIView, por lo que no puede agregar una subvista. También NSString no es una subvista de UIView. Si desea mostrar las cosas en la pantalla, debe henetworkingar de UIView.

Entonces intente esto:

Cree un UIImageView: configure su propiedad de image para que sea su instancia de UIImage.

Cree una UILabel: establezca su propiedad de text en su NSString.

Agregue la UILabel como una subvista de su UIImageView.

y finalmente agregue su UIImageView a la vista de sus controlleres de vista actuales.

Emm, aquí hay algunos pensamientos. Creo que una manera simple es así:

  1. Pon aUIImageView en aView;
  2. Agregue aUITextView en aView;
  3. Obtenga ScreenShot de aView;

Esto puede funcionar bien.

Además, esto puede venir con un problema que la captura de pantalla puede no ser clara. Luego, después de los pasos 1 y 2, podemos get una nueva image de UIGraphics. (Con aquí, ya sabemos dónde debe estar el text en la image y esto debería estar bien.)

PS: Es posible que alguna image no tenga alguna atribución como CGImage y CGImage es necesaria para esto. Entonces, transformalo.