鍍金池/ 教程/ Android/ 縮放
進度條
在JAVA代碼中使用Drawees
Drawee的各種效果配置
緩存
一些陷阱
關(guān)于在Android Studio中編譯
多圖請求及圖片復用
自定義網(wǎng)絡加載
支持的URIs
可關(guān)閉的引用
監(jiān)聽下載事件
修改圖片
引入Fresco
縮放
圓角和圓圈
配置Image Pipeline
縮放和旋轉(zhuǎn)圖片
(圖片請求)Image Requests
自定義View
使用ControllerBuilder
在XML中使用Drawees
開始使用 Fresco
關(guān)鍵概念
Image Pipeline介紹
漸進式JPEG圖
數(shù)據(jù)源和數(shù)據(jù)訂閱者
直接使用Image Pipeline
動畫圖(gif)
使用其他的Image Loader

縮放

本教程內(nèi)容來源于:http://fresco-cn.org
采用 知識共享 署名 4.0 國際 許可協(xié)議 進行許可

對于 Drawee 的各種效果配置,其中一些是支持縮放類型的。

可用的縮放類型

類型 描述
center 居中,無縮放
centerCrop 保持寬高比縮小或放大,使得兩邊都大于或等于顯示邊界。居中顯示。
focusCrop 同centerCrop, 但居中點不是中點,而是指定的某個點
centerInside 使兩邊都在顯示邊界內(nèi),居中顯示。
如果圖尺寸大于顯示邊界,則保持長寬比縮小圖片。
fitCenter 保持寬高比,縮小或者放大,使得圖片完全顯示在顯示邊界內(nèi)。居中顯示
fitStart 同上。但不居中,和顯示邊界左上對齊
fitEnd 同fitCenter, 但不居中,和顯示邊界右下對齊
fitXY 不保存寬高比,填充滿顯示邊界
none 如要使用tile mode顯示, 需要設置為none

這些縮放類型和Android ImageView 支持的縮放類型幾乎一樣.

唯一不支持的縮放類型是matrix. Fresco 提供了focusCrop 作為補充。通常這個縮放效果更佳。

focusCrop

centerCrop縮放模式會保持長寬比,縮放圖片,填充滿顯示邊界,居中顯示。這個縮放模式在通常情況下很有用。

但是對于人臉等圖片時,一味地居中顯示,這個模式可能會裁剪掉一些有用的信息。

以人臉圖片為例,借助一些類庫,我們可以識別出人臉所在位置。如果可以設置以人臉位置居中裁剪顯示,那么效果會好很多。

Fresco的focusCrop縮放模式正是為此而設計。只要提供一個居中聚焦點,顯示時就會盡量以此點為中心。

居中點是以相對方式給出的,比如(0.5f, 0.5f)就是居中顯示,(0f, 0f)就是左上對齊顯示。

如果要使用此縮放模式,首先指定縮放模式。在XML:

  fresco:actualImageScaleType="focusCrop"

在Java代碼中

PointF focusPoint;
// your app populates the focus point
mSimpleDraweeView
    .getHierarchy()
    .setActualImageFocusPoint(focusPoint);

none

如果你要使用tile mode進行顯示,那么需要將scale type 設置為none.