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

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

Core Graphics API所有的操作都在一個上下文中進行。所以在繪圖之前需要獲取該上下文并傳入執(zhí)行渲染的函數(shù)中。如果你正在渲染一副在內(nèi)存中的圖片,此時就需要傳入圖片所屬的上下文。獲得一個圖形上下文是我們完成繪圖任務(wù)的第一步,你可以將圖形上下文理解為一塊畫布。如果你沒有得到這塊畫布,那么你就無法完成任何繪圖操作。當(dāng)然,有許多方式獲得一個圖形上下文,這里我介紹兩種最為常用的獲取方法。

調(diào)用UIGraphicsBeginImageContextWithOptions函數(shù)就可獲得用來處理圖片的圖形上下文。利用該上下文,你就可以在其上進行繪圖,并生成圖片。調(diào)用UIGraphicsGetImageFromCurrentImageContext函數(shù)可從當(dāng)前上下文中獲取一個UIImage對象。記住在你所有的繪圖操作后別忘了調(diào)用UIGraphicsEndImageContext函數(shù)關(guān)閉圖形上下文。

上代碼

- ( UIImage *)createShareImage:( NSString *)str of:(UIImage *)isImage

{

UIImage *image = isImage;

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 ( 50 , image.size.height - 100 ) withAttributes : @{ NSFontAttributeName :[ UIFont fontWithName : @"Arial-BoldMT" size : 70 ], NSForegroundColorAttributeName :[ UIColor whiteColor ] } ];

//畫自己想畫的內(nèi)容。。。。。

// 返回繪制的新圖形

UIImage *newImage= UIGraphicsGetImageFromCurrentImageContext ();

UIGraphicsEndImageContext ();

return newImage;

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • --繪圖與濾鏡全面解析 概述 在iOS中可以很容易的開發(fā)出絢麗的界面效果,一方面得益于成功系統(tǒng)的設(shè)計,另一方面得益...
    韓七夏閱讀 2,796評論 2 10
  • 原文地址:http://www.cocoachina.com/industry/20140115/7703.htm...
    默默_David閱讀 6,159評論 0 1
  • Core Graphics Framework是一套基于C的API框架,使用了Quartz作為繪圖引擎。它提供了低...
    ShanJiJi閱讀 1,600評論 0 20
  • 來了學(xué)校,心里空落落的,好想回家 ≥﹏≤,當(dāng)初為什么要選那么遠(yuǎn)的呢,早知聽父母的話了。≥﹏≤ 2016.8.28
    長點記性閱讀 181評論 0 0
  • 今天給佳欣姐洗臉了,她說總體來說還可以,就是有些細(xì)節(jié)方面還有注意,有一些小動作,穴位還有些找得不準(zhǔn),拉下巴的力度不...
    挽箏閱讀 135評論 0 0