Glide入門(mén)教程——5.圖片大小調(diào)整 & 縮放

Glide — 圖片大小調(diào)整 & 縮放

原文:Image Resizing & Scaling
作者:Norman Peitek
翻譯:Dexter0218

在前幾篇文章中,你已經(jīng)學(xué)習(xí)了從各種源中加載圖片,并且使用不同形式的占位圖。如果你不知道圖片的大小的影響,這篇文章里介紹的大小調(diào)整和縮放是相當(dāng)重要的。

Glide 系列概覽

  1. 入門(mén)簡(jiǎn)介
  2. 高級(jí)加載
  3. 適配器(ListView, GridView)
  4. 占位圖& 淡入淡出動(dòng)畫(huà)
  5. 圖片大小 & 縮放
  6. 播放GIF & 視頻
  7. 緩存基礎(chǔ)
  8. 請(qǐng)求優(yōu)先級(jí)
  9. 縮略圖
  10. 回調(diào):定制view中使用SimpleTarget和ViewTarget
  11. 通知欄和桌面小控件的圖片加載
  12. 異常: 調(diào)試和報(bào)錯(cuò)處理
  13. 自定義變換
  14. 用animate()定制動(dòng)畫(huà)
  15. 整合網(wǎng)絡(luò)協(xié)議棧
  16. 用Modules定制Glide
  17. Glide Module 案例: 接受自簽名HTTPS證書(shū)
  18. Glide Module 案例: 自定義緩存
  19. Glide Module 案例: 通過(guò)加載自定義大小圖片優(yōu)化
  20. 動(dòng)態(tài)使用 Model Loaders
  21. 如何旋轉(zhuǎn)圖片
  22. 系列綜述

resize(x, y)調(diào)整圖片大小

理想情況下,你的服務(wù)器或者API能夠返回給你恰好所需分辨率的圖片,這是在網(wǎng)絡(luò)帶寬、內(nèi)存消耗和圖片質(zhì)量下的完美方案。

跟Picasso比起來(lái),Glide在內(nèi)存上占用更優(yōu)化。Glide在緩存和內(nèi)存里自動(dòng)限制圖片的大小去適配ImageView的尺寸。Picasso也有同樣的能力,但需要調(diào)用fit()方法。用Glide時(shí),如果圖片不需要自動(dòng)適配ImageView,調(diào)用override(horizontalSize, verticalSize),它會(huì)在將圖片顯示在ImageView之前調(diào)整圖片的大小。

Glide
    .with(context)
    .load(UsageExampleListViewAdapter.eatFoodyImages[0])
    .override(600, 200) // resizes the image to these dimensions (in pixel). does not respect aspect ratio
    .into(imageViewResize);

這個(gè)設(shè)置可能也是有利于沒(méi)有明確目標(biāo),但已知尺寸的視圖上。例如,如果app想要預(yù)先緩存在splash屏幕上,還沒(méi)法測(cè)量出ImageVIews具體寬高。但,如果你已經(jīng)知道圖片應(yīng)當(dāng)為多大,使用override可以提供一個(gè)指定的大小的圖片。

縮放圖片

現(xiàn)在,對(duì)于任何圖像的任何處理,調(diào)整圖像的大小可能會(huì)扭曲長(zhǎng)寬比,丑化圖片的顯示。在大多數(shù)情況下,你希望防止這種事情發(fā)升。Glide提供了變換去處理圖片顯示,通過(guò)設(shè)置centerCrop 和 fitCenter,可以得到兩個(gè)不同的效果。

CenterCrop

CenterCrop()會(huì)縮放圖片讓圖片充滿整個(gè)ImageView的邊框,然后裁掉超出的部分。ImageVIew會(huì)被完全填充滿,但是圖片可能不能完全顯示出。

Glide
    .with(context)
    .load(UsageExampleListViewAdapter.eatFoodyImages[0])
    .override(600, 200) // resizes the image to these dimensions (in pixel)
    .centerCrop() // this cropping technique scales the image so that it fills the requested bounds and then crops the extra.
    .into(imageViewResizeCenterCrop);

FitCenter

fitCenter()會(huì)縮放圖片讓兩邊都相等或小于ImageView的所需求的邊框。圖片會(huì)被完整顯示,可能不能完全填充整個(gè)ImageView。

Glide
    .with(context)
    .load(UsageExampleListViewAdapter.eatFoodyImages[0])
    .override(600, 200)
    .fitCenter() 
    .into(imageViewResizeFitCenter);

我們會(huì)在隨后的文章中介紹除了centerCrop() 和 fitCenter()以外的自定義變換方法。

展望

這篇文章中,你已經(jīng)學(xué)會(huì)了如何調(diào)整要顯示的圖片的尺寸。這對(duì)于創(chuàng)建出色應(yīng)用非常有幫助。在我們進(jìn)入更高級(jí)的Glide主題之前,我們后面將會(huì)學(xué)習(xí)一個(gè)Glide獨(dú)有的功能:播放Gif和視頻。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,702評(píng)論 6 534
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,615評(píng)論 3 419
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人,你說(shuō)我怎么就攤上這事。” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 176,606評(píng)論 0 376
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我,道長(zhǎng),這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 63,044評(píng)論 1 314
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 71,826評(píng)論 6 410
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 55,227評(píng)論 1 324
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,307評(píng)論 3 442
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 42,447評(píng)論 0 289
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 48,992評(píng)論 1 335
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 40,807評(píng)論 3 355
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 43,001評(píng)論 1 370
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,550評(píng)論 5 361
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,243評(píng)論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 34,667評(píng)論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 35,930評(píng)論 1 287
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 51,709評(píng)論 3 393
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 47,996評(píng)論 2 374

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

  • 一、簡(jiǎn)介 在泰國(guó)舉行的谷歌開(kāi)發(fā)者論壇上,谷歌為我們介紹了一個(gè)名叫Glide的圖片加載庫(kù),作者是bumptech。這...
    天天大保建閱讀 7,520評(píng)論 2 28
  • 1、基本使用 添加Glide到你的設(shè)置中首先,添加Glide到你的工程依賴?yán)铮刂贡疚膶?xiě)作時(shí),最新的Glide版本...
    南城的人閱讀 791評(píng)論 0 2
  • 在Android設(shè)備上,加載網(wǎng)絡(luò)圖片一直是一個(gè)頭疼的問(wèn)題,因?yàn)锳ndroid設(shè)備種類繁多(當(dāng)然最主要的是配置),處...
    Code4Android閱讀 17,688評(píng)論 5 96
  • 什么時(shí)候時(shí)間被戴在了手上? 如同, 奔騰的河流被迫停止了流淌。 我想, 每一只手表, 不僅清算你的光陰, 還叩問(wèn)著...
    閱簡(jiǎn)上書(shū)閱讀 297評(píng)論 0 2
  • 夜晚對(duì)于我們是一天剛剛開(kāi)始 下午對(duì)于我們是剛剛醒來(lái) 日光足夠凜冽,你蒙騙我說(shuō)這天氣糟糕適合起床 我不置可否,醒著睡...
    lingmenglian閱讀 229評(píng)論 0 1