IOS在圖片上畫文字,非常簡單


用UIGraphics進行2D圖像渲染 不要用UIGraphicsBeginImageContext(size); 不然圖片會模糊

Core Graphics API所有的操作都在一個上下文中進行。所以在繪圖之前需要獲取該上下文並傳入執行渲染的函數中。如果你正在渲染一副在內存中的圖片,此時就需要傳入圖片所屬的上下文。獲得一個圖形上下文是我們完成繪圖任務的第一步,你可以將圖形上下文理解為一塊畫布。如果你沒有得到這塊畫布,那么你就無法完成任何繪圖操作。當然,有許多方式獲得一個圖形上下文,這里我介紹兩種最為常用的獲取方法。
 
調用UIGraphicsBeginImageContextWithOptions函數就可獲得用來處理圖片的圖形上下文。利用該上下文,你就可以在其上進行繪圖,並生成圖片。調用UIGraphicsGetImageFromCurrentImageContext函數可從當前上下文中獲取一個UIImage對象。記住在你所有的繪圖操作后別忘了調用UIGraphicsEndImageContext函數關閉圖形上下文。
 
上代碼:

- (UIImage *)createShareImage:(NSString *)str name:(NSString *)name number:(NSString *)number grade:(NSString *)grade

{

    UIImage *image = [UIImage imageNamed:@"shareGrade"];

    CGSize size=CGSizeMake(image.size.width, image.size.height);//畫布大小

    UIGraphicsBeginImageContextWithOptions(size, NO, 0.0);

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

    //獲得一個位圖圖形上下文

    CGContextRef context=UIGraphicsGetCurrentContext();

    CGContextDrawPath(context, kCGPathStroke);

 

    // 打敗了多少用戶

    [str drawAtPoint:CGPointMake(30, image.size.height*0.65) withAttributes:@{NSFontAttributeName:[UIFont fontWithName:@"Arial-BoldMT" size:30],NSForegroundColorAttributeName:[UIColor whiteColor]}];

    //畫自己想畫的內容。。。。。

    //返回繪制的新圖形

    UIImage *newImage=UIGraphicsGetImageFromCurrentImageContext();

    UIGraphicsEndImageContext();

    return newImage;

}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM