2011-11-19 100 views
3
只選擇UIView的一部分

我已在爲一個UIView轉換成UIImage的如何轉換到UIImage的

+(UIImage*) createUIImageFromView:(UIView *)view frame:(CGRect)frame; 
{ 
    if (UIGraphicsBeginImageContextWithOptions != NULL) 
    { 
     UIGraphicsBeginImageContextWithOptions(frame.size, NO, 2.0f); 
    } 
    else 
    { 
     UIGraphicsBeginImageContext(view.frame.size); 
    } 

    [view.layer renderInContext:UIGraphicsGetCurrentContext()];  
    UIImage *image = UIGraphicsGetImageFromCurrentImageContext(); 
    UIGraphicsEndImageContext(); 

    return image; 
} 

但是下面,我只能選擇圖像的大小,但在UIView的不是哪裏應該被轉換成圖像。例如,如果我想轉換矩形CGRect(10,10,20,20)而不是整個UIView,我該如何做?

+0

我認爲你可以在整體獲得圖像後進行裁剪。使用CGImage函數可以輕鬆完成。 – bealex

回答

4

您可以在您的上下文中設置coordinate transformation matrix。這允許你改變座標系,所以當圖層在(0,0)處繪製時,它實際上會渲染上下文中的其他地方。 CGContext文檔的Transforming User Space部分記錄了您想用於實際修改CTM的功能。