PHImageRequestOptions
- 1、synchronous: 指定請(qǐng)求是否同步執(zhí)行。
- 2怎栽、resizeMode: 對(duì)請(qǐng)求的圖像怎樣縮放踏志。有三種選擇:None阀捅,不縮放;Fast针余,盡快地提供接近或稍微大于要求的尺寸饲鄙;Exact,精準(zhǔn)提供要求的尺寸圆雁。
deliveryMode: 圖像質(zhì)量忍级。有三種值:Opportunistic,在速度與質(zhì)量中均衡伪朽;HighQualityFormat轴咱,不管花費(fèi)多長(zhǎng)時(shí)間,提供高質(zhì)量圖像驱负;FastFormat嗦玖,以最快速度提供好的質(zhì)量。 - 3跃脊、normalizedCropRect: 用于對(duì)原始尺寸的圖像進(jìn)行裁剪宇挫,基于比例坐標(biāo)。只在 resizeMode 為 Exact 時(shí)有效酪术。
- 4器瘪、resizeMode 默認(rèn)是 None翠储,這也造成了返回圖像尺寸與要求尺寸不符。這點(diǎn)需要注意援所。要返回一個(gè)指定尺寸的圖像需要避免兩層陷阱:一定要指定 options 參數(shù),resizeMode 不能為 None住拭。
- 5、version 屬性來(lái)做到:.Current 會(huì)遞送包含所有調(diào)整和修改的圖像历帚;.Unadjusted 會(huì)遞送未被施加任何修改的圖像;.Original 會(huì)遞送原始的挽牢、最高質(zhì)量的格式的圖像 (例如 RAW 格式的數(shù)據(jù)谱煤。而當(dāng)將屬性設(shè)置為 .Unadjusted 時(shí),會(huì)遞送一個(gè) JPEG)禽拔。
注意
- 1、deliveryMode:圖像質(zhì)量睹栖。有三種值:Opportunistic硫惕,在速度與質(zhì)量中均衡磨淌;HighQualityFormat疲憋,不管花費(fèi)多長(zhǎng)時(shí)間凿渊,提供高質(zhì)量圖像梁只;FastFormat,以最快速度提供好的質(zhì)量埃脏。這里應(yīng)該是只有在synchronous為false 時(shí)有效。
- 2彩掐、synchronous為true時(shí),同步請(qǐng)求堵幽,我們?cè)O(shè)置的deliveryMode 會(huì)被忽略,以HighQualityFormat的標(biāo)準(zhǔn)返回圖像朴下。
- 3、synchronous為true時(shí)殴胧,同步請(qǐng)求佩迟,resultHandler只會(huì)執(zhí)行一次。
- 4竿屹、synchronous為false時(shí),異步請(qǐng)求拱燃,resultHandler是否會(huì)被多次調(diào)用取決于deliveryMode屬性:1、deliveryMode是HighQualityFormat 碗誉,resultHandler調(diào)用一次,框架只返回高質(zhì)量圖诗充。2、deliveryMode是FastFormat蝴蜓,resultHandler也只被調(diào)用一次,保證速度盡可能保證圖片質(zhì)量茎匠。3、deliveryMode是.Opportunistic Photos 可能會(huì)先提供低質(zhì)量的圖像以供臨時(shí)顯示诵冒,隨后會(huì)將指定尺寸的圖像返回。如果指定尺寸的高質(zhì)量的圖像有緩存汽馋,那么直接提供高質(zhì)量的圖像。
resultHandler中的info 字典提供了關(guān)于當(dāng)前請(qǐng)求狀態(tài)的信息
- 1豹芯、圖像是否必須從 iCloud 請(qǐng)求 (如果你初始化時(shí)將 networkAccessAllowed 設(shè)置成 false,那么就必須重新請(qǐng)求圖像) —— PHImageResultIsInCloudKey 铁蹈。
- 2、當(dāng)前遞送的 UIImage 是否是最終結(jié)果的低質(zhì)量格式握牧。當(dāng)高質(zhì)量圖像正在下載時(shí)容诬,這個(gè)可以讓你給用戶先展示一個(gè)預(yù)覽圖像 —— PHImageResultIsDegradedKey。
- 3沿腰、請(qǐng)求 ID (可以便捷的取消請(qǐng)求)览徒,以及請(qǐng)求是否已經(jīng)被取消 —— PHImageResultRequestIDKey 和 PHImageCancelledKey。如果沒(méi)有圖像提供給 result handler矫俺,字典內(nèi)還會(huì)有一個(gè)錯(cuò)誤信息 —— PHImageErrorKey吱殉。