2012-10-01 2 views
4

나는 큰 UIImage 있어요. 이 UIImage에 나는 1 개 더있어, 마녀는 실제로 가면이다. 그리고 또 하나 -이 마스크 위에 UILabel이 있습니다! 마녀는 그림의 텍스트입니다.2 UIImages 및 레이블에서 UIImage 만들기

이 모든 부품을 하나로 결합하여 UIImage 카메라 롤에 저장하고 싶습니다!

어떻게해야합니까?

UPD. UITextView을 어떻게 추가해야합니까?

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

을하지만이 방법은 바로 이곳에 myTextView을 두지 않습니다

나는 발견했다.

답변

10

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

UIImage 하나 개의 이미지로 이미지와 라벨이 모두 포함입니다 resultImage을 사용하는 두 개의 UIImage 객체와 하나 UILabel 개체를 만듭니다. 그 후 원하는 곳에 저장할 수 있습니다.

호프가 도움이됩니다 ...

+0

어떻게 UITextView를 그려야합니까? "drawInRect"와 같은 기능이 없습니다 ( –