4

私は1つの大きなものを手に入れましUIImageた。これUIImageでもう1つ手に入れました。魔女は実際にはマスクです。そしてもう1つ-私はUILabelこのマスクを乗り越えました!魔女は絵のテキストです。

これらすべてのパーツを1つUIImageにまとめて、カメラロールに保存したいと思います。

どうすればいいですか?

UPD。どのように追加すればよいUITextViewですか?

私が見つけた:

[[myTextView layer] renderInContext:UIGraphicsGetCurrentContext()];

ただし、このメソッドはmyTextViewを適切な場所に配置しません。

4

1 に答える 1

10

UIImage2 つのオブジェクトと 1つのオブジェクトを作成してからメソッドUILabelを使用するdrawInRect:

//create image 1

UIImage *img1 = [UIImage imageNamed:@"image1.png"];

//create image 2    

UIImage *img2 = [UIImage imageNamed:@"image2.png"];

// create label

UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 50,50 )];

//set you label text

[label setText:@"Hello"];

// use UIGraphicsBeginImageContext() to draw them on top of each other

//start drawing
UIGraphicsBeginImageContext(img1.size);

//draw image1

[img1 drawInRect:CGRectMake(0, 0, img1.size.width, img1.size.height)];

//draw image2

[img2 drawInRect:CGRectMake((img1.size.width - img2.size.width) /2, (img1.size.height- img2.size.height)/2, img2.size.width, img2.size.height)];

//draw label

[label drawTextInRect:CGRectMake((img1.size.width - label.frame.size.width)/2, (img1.size.height - label.frame.size.height)/2, label.frame.size.width, label.frame.size.height)];

//get the final image

UIImage *resultImage  = UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext();

resultImageには、UIImageすべての画像とラベルが 1 つの画像として含まれています。その後、好きな場所に保存できます。

希望は助けます...

于 2012-10-01T18:37:58.547 に答える