user198725878
user198725878

Reputation: 6386

How to draw text on image

i have a image. in that image i need to draw text.

pls provide any links or sample code to try it out.

Thanks for any help

Upvotes: 0

Views: 906

Answers (1)

user189804
user189804

Reputation:

Just composite an extra view containing the text on top of the image. If you use a UILabel with [UIColor clearColor] for the background color and set opaque to false you will just see the text on top of the image and none of the image will be obscured.

If you want to get an image from the image in a view with the transparent view containing text on top of it, see this answer:

How to obtain a CGImageRef from the content of an UIView?

Something like this:

    UIView* baseView = [[UIView alloc] initWithFrame:frameSize];

    UIImage* imageToCaption = [UIImage imageNamed:@"myImage.jpg"];
    UIImageView* imageToCaptionView = [[UIImageView alloc] initWithImage:imageToCaption];
    imageToCaptionView.frame = frameSize;
    [baseView addSubview:imageToCaptionView];
    [imageToCaptionView release];


    // do stuff with fonts to calculate the size of the label, center it in your image etc. etc.
    CGRect labelFrame = ...

    UILabel* myLabel = [[UILabel alloc] initWithFrame:labelFrame];
    myLabel.backgroundColor = [UIColor clearColor];
    myLabel.opaque = NO;

    // set the color, font, text etc.

    [baseView addSubView:myLabel];
    [myLabel release];

Not compiled or complete but you get the idea. If you wanted to get the result as an image you would use do [baseView.layer renderInContext:context];

Upvotes: 3

Related Questions