UIGraphicsBeginImageContext 和 UIGraphicsBeginImageContextWithOptions 區(qū)別

這兩個方法都是繪圖時候用的方法,功能上這兩個方法是一樣的。但是就圖片質(zhì)量上這兩個參數(shù)還是有一定區(qū)別的。
下面就分析下這兩個方法:(先從UIGraphicsBeginImageContextWithOptions 說起)

  1. UIGraphicsBeginImageContextWithOptions(CGSize size, BOOL opaque, CGFloat scale),
  • 第一個參數(shù)是想要渲染的圖片的尺寸;
  • 第二個參數(shù)用來指定所生成圖片的背景是否為不透明,指定為YES得到的圖片背景將會是黑色,反之NO表示是透明的;
  • 第三個參數(shù)表示位圖的縮放比例,如果設置為 0,表示讓圖片的縮放因子根據(jù)屏幕的分辨率而變化。和 [UIScreen mainScreen].scale相等的。
    關于第三個參數(shù)可以看官方文檔說明:

The scale factor to apply to the bitmap. If you specify a value of 0.0, the scale factor is set to the scale factor of the device’s main screen.

  1. UIGraphicsBeginImageContext(CGSize size)僅有一個參數(shù),傳遞的是想要渲染位圖的尺寸。但是在官方文檔上面也有說明。

    This function is equivalent to calling the
    UIGraphicsBeginImageContextWithOptions function with the
    opaque parameter set to NO and a scale factor of 1.0.

    大致的意思就是這個方法和 UIGraphicsBeginImageContextWithOptions(CGSize size, NO, 1.0) 是等價的。

總結:一般我們用的都是UIGraphicsBeginImageContextWithOptions(CGSize size, YES, 0) 因為這樣得到的圖片失真很少,比較接近原圖像,而 UIGraphicsBeginImageContext()這個方法得到的圖片質(zhì)量相對來說比較差。

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • UIGraphicsBeginImageContext 創(chuàng)建一個基于位圖的上下文(context),并將其設置為當...
    李前途閱讀 3,402評論 1 4
  • UIGraphicsBeginImageContext創(chuàng)建一個基于位圖的上下文(context),并將其設置為當前...
    宋進鋒閱讀 3,752評論 1 2
  • 化我的思戀 為陣陣微風 輕輕地吹 緩緩的來到你面前 將我所有心事向你呢喃 化我的思戀 為片片落葉 ...
    曹琦琦閱讀 265評論 1 4
  • 2016.10.29 2016.11.9 2016.11.20 2016.11.27 -- 新入的上盆 2016....
    貓與多肉閱讀 229評論 0 0
  • 我想每一個柔緞般的臉龐下都有一只躍動的精靈,我們每一個人都以一種獨特又主流的方式生活著。有那么一群人,他們被稱為...
    墨小沫ab閱讀 309評論 0 1

友情鏈接更多精彩內(nèi)容