본문 바로가기

프로그래밍/iOS

[iOS] UIImage에 UILabel 추가하기

고객사 요청으로 내가 꼭 해야할일은 아니지만


이미지에 

직원코드_부점코드_호출날짜 

위와 같은 것을 아래 위로 찍는 루틴이 있었다.


그거 좀 구글검색하면 다 나오는 걸 굳이 해달라 해서

정말 간단하게 UIImage에 UILabel 추가하는 함수 만들어서 전달해 줬다.


담에도 쓸지 몰라서 기술


- (UIImage*) addLabel : (NSString*)label toImage:(UIImage*)image

{

    UILabel* addLabel = [[UILabel alloc]initWithFrame:CGRectMake(image.size.width/2, image.size.height/2, 100,20)];// 라벨 생성

    addLabel.text =label;

    addLabel.textAlignment = NSTextAlignmentCenter;

    addLabel.textColor =[UIColor colorWithRed:255.0/255.0 green:255.0/255.0blue:255.0/255.0 alpha:1.0]; // 라벨 

    

    UIGraphicsBeginImageContext(image.size);

    [image drawAtPoint:CGPointMake(0,0)];

    

    CGContextRef context = UIGraphicsGetCurrentContext();

    CGRect drawRect = CGRectMake(image.size.width/2, image.size.height/2,100, 20); // 라벨 위치(이미지의 좌표 기준)

    CGContextSetRGBFillColor(context, 0.0/255.0, 0.0f/255.0f, 0.0f/255.0f, 1.0f);// 라벨 배경색

    CGContextFillRect(context, drawRect);

    

    [addLabel drawTextInRect:drawRect];

    

    UIImage* resultImage = UIGraphicsGetImageFromCurrentImageContext();

    UIGraphicsEndImageContext();

    

    return resultImage;

 

}