Dessinez du texte à l'intérieur d'une image et renvoyez l'image résultante :
+(UIImage*) drawText:(NSString*) text
inImage:(UIImage*) image
atPoint:(CGPoint) point
{
UIFont *font = [UIFont boldSystemFontOfSize:12];
UIGraphicsBeginImageContext(image.size);
[image drawInRect:CGRectMake(0,0,image.size.width,image.size.height)];
CGRect rect = CGRectMake(point.x, point.y, image.size.width, image.size.height);
[[UIColor whiteColor] set];
[text drawInRect:CGRectIntegral(rect) withFont:font];
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return newImage;
}
Utilisation :
// note: replace "ImageUtils" with the class where you pasted the method above
UIImage *img = [ImageUtils drawText:@"Some text"
inImage:img
atPoint:CGPointMake(0, 0)];
Changez l'origine du texte à l'intérieur de l'image de 0,0 à n'importe quel point que vous souhaitez.
Pour peindre un rectangle de couleur unie derrière le texte, ajoutez ce qui suit avant la ligne [[UIColor whiteColor] set];
:
[[UIColor brownColor] set];
CGContextFillRect(UIGraphicsGetCurrentContext(),
CGRectMake(0, (image.size.height-[text sizeWithFont:font].height),
image.size.width, image.size.height));
J'utilise la taille du texte pour calculer l'origine du rectangle de couleur unie, mais vous pouvez la remplacer par n'importe quel nombre.
0 votes
Avez-vous essayé UIImage et UILabel ?
0 votes
Non Veuillez fournir l'exemple de code pour que je puisse essayer.
0 votes
Voulez-vous simplement l'afficher comme ça dans votre application, ou voulez-vous modifier le fichier image pour qu'il contienne ce texte et le sauvegarder comme ça ?
0 votes
Je veux en faire une image complète (image + étiquette) et l'ajouter à l'arrière-plan du bouton.