2017-01-30 3 views
0

내가 회전 한 UILabel의 변환 : centerLabel.transform = CGAffineTransformMakeRotation((90 * M_PI)/180);는 UILabel의 렌더링과 (변환과 UILabel의)

내가있는 UIImage에 내 UILabel의 렌더링이 필요하지만, 나는 그것을 변환으로 만들 수 없습니다. UILabel을 렌더링 할 때 변환없이 UILabel을 얻고 있습니다. 어떻게 만들 수 있습니까? 이 코드 시도

+ (UIImage *) imageWithView:(UIView *)view andOpaque:(BOOL)opaque { 
UIGraphicsBeginImageContextWithOptions(view.bounds.size, opaque, 0.0); 
[view.layer renderInContext:UIGraphicsGetCurrentContext()]; 
UIImage * img = UIGraphicsGetImageFromCurrentImageContext(); 
UIGraphicsEndImageContext(); 
return img; 
} 

답변

0

UILabel의에서 이미지를 만들려면 :

#import <QuartzCore/QuartzCore.h> 
#import <QuartzCore/CALayer.h> 

회전을 그 후에 당신의 UILabel의

centerLabel.transform = CGAffineTransformMakeRotation((90 * M_PI)/180); 

내 방법입니다 캡처 저장 있는 UIImage

UIImage *image = [self imageWithView:centerLabel]; 

촬영 화상에 화상 D가 회전하지 않고있을 것이다. 이미지를 회전 할 때 사용하려면 CGAffineTransformMakeRotation (UIImageView)을 UILabel 캡처 후 사용해야합니다.

- (UIImage *) imageWithView:(UIView *)view 
{ 
    // Create a "canvas" (image context) to draw in. 
    UIGraphicsBeginImageContextWithOptions(view.bounds.size, false, 0.0); // high res 

    // Make the CALayer to draw in our "canvas". 
    [[view layer] renderInContext: UIGraphicsGetCurrentContext()]; 

    // Fetch an UIImage of our "canvas". 
    UIImage *image = UIGraphicsGetImageFromCurrentImageContext(); 

    // Stop the "canvas" from accepting any input. 
    UIGraphicsEndImageContext(); 

    // Return the image. 
    return image; 
}