1. 程式人生 > >Fresco 的封裝,快速上手,影象後處理,超大圖高清預覽,縮小放大,雙擊放大等一一俱全

Fresco 的封裝,快速上手,影象後處理,超大圖高清預覽,縮小放大,雙擊放大等一一俱全

因為某些原因,現在使用 jitpack.io,還請使用依賴的各位切換到 jitpack。

在 project 下的 build.gradle 新增

allprojects {
    repositories {
        ...
        maven { url 'https://jitpack.io' }
    }
}

在 module 下的 build.gradle 新增

dependencies {
    compile 'com.github.CarGuo:FrescoUtils:v1.0.4'
}

1.0.4 update fresco to 1.0.1,update scaleImage to 3.6.0

1.0.3 update fresco to 1.0.0

1.0.2 最低 API 調整到 15

1.0.1 增加了額 FrescoHelper 直接超大圖載入介面

/**
 * 超大圖片的就介面
 *
 * @param context   上下玩
 * @param imageView 圖片載入控制元件
 * @param imageUri  圖片地址
 * @param defaultId 預設失敗圖片
 */
public static void loadBigImage(final Context context, final SubsamplingScaleImageView imageView, String imageUri, final int defaultId)

效果顯示

 

動態圖效果

 

記得記得在 Application 裡初始化

ImagePipelineConfig config = ImagePipelineConfig.newBuilder(this)
        .setDownsampleEnabled(true)
        .build();
Fresco.initialize(this, config);

FrescoHelper 封裝了針對 FrescoImageView 的工具類,直接使用 FrescoImageView 作為 ImageView 使用即可。

封裝了多種型別,這是最全的一種


/**
 * @param imageView     圖片載入控制元件
 * @param uri           路徑或者 URL
 * @param defaultImg    預設圖片
 * @param cornerRadius  弧形角度
 * @param isCircle      是否為圓
 * @param loadLocalPath 是否本地資源,如果顯示 R.drawable.xxx,Path 可以為 null,前提 isCircle 為 true
 * @param isAnima       是否顯示 GIF 動畫
 * @param size          是否再編碼
 * @param postprocessor 影象顯示處理
 */
public static void loadFrescoImage(FrescoImageView imageView, String uri, int defaultImg,
                                   int cornerRadius, boolean isCircle, boolean loadLocalPath, boolean isAnima,
                                   Point size, Postprocessor postprocessor) {
    init(imageView, cornerRadius, isCircle, isAnima, size, postprocessor);
    if (loadLocalPath) {
        imageView.loadLocalImage(uri, defaultImg);
    } else {
        imageView.loadView(uri, defaultImg);
    }
}

···

FrescoHelper.loadFrescoImage(frescoImageView, recyclerDataModel.getUrl(), R.mipmap.ic_launcher, 2, false, recyclerDataModel.getSize(), new BlurPostprocessor(context, 10));

帶有PhotoDraweeView 功能與 PhotoView 一樣,支援雙擊放大,單擊返回,手動放大與縮小等。

相關推薦

Fresco封裝快速上手影象處理超大縮小放大放大一一俱全

因為某些原因,現在使用 jitpack.io,還請使用依賴的各位切換到 jitpack。在 project 下的 build.gradle 新增allprojects { repositories { ... maven { url 'https://jitpack.i

分享《Python編程快速上手:讓繁瑣工作自動化》【中文版PDF+英文版PDF+源代碼】

其中 mage pytho oss 英文 復制粘貼 學習 color process 下載:https://pan.baidu.com/s/1qs1ETO6yTG8xpdPPzb5dPw Python編程快速上手:讓繁瑣工作自動化【高清中文版PDF+高清英文版PDF+源代碼

《Python編程快速上手:讓繁瑣工作自動化》【中文版PDF+英文版PDF+源代碼】

text cto 講解 proc mark 書籍 blog shadow 分享圖片 下載:https://pan.baidu.com/s/1qs1ETO6yTG8xpdPPzb5dPw Python編程快速上手:讓繁瑣工作自動化【高清中文版PDF+高清英文版PDF+源代碼】

分享《Python程式設計快速上手:讓繁瑣工作自動化》【中文版PDF+英文版PDF+原始碼】

下載:https://pan.baidu.com/s/1qs1ETO6yTG8xpdPPzb5dPw Python程式設計快速上手:讓繁瑣工作自動化【高清中文版PDF+高清英文版PDF+原始碼】 久負盛名的python書籍。 高清中文版412頁,高清英文版505 頁,配套原始碼。 中文和英文兩版對比學

Laravel入門及實踐快速上手社交系統ThinkSNS+二次開發

title 瀏覽器 extend 成了 migration 如果 編寫 三種 views 【摘要】自從社交系統ThinkSNS+不使用ThinkPHP框架而使用Laravel框架之後,很多人都說技術門檻擡高了,其實你與TS+的距離僅僅只是學習一個新框架而已,所以,我們今天來

從零開始學 Web 之 Ajax(三)Ajax 概述快速上手

lan 技術分享 php 概述 由於 val asc logs 更新 大家好,這裏是「 從零開始學 Web 系列教程 」,並在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公眾號:Web前端之巔 博客園:ht

充分理解Kotlin快速上手寫業務

前言 即使每天10點下班,其實需求很多,我也要用這腐朽的聲帶喊出:我要學習,我要寫文章!! 又是一篇Kotlin的文章,為啥...還不是因為工作需要。毫無疑問,最好的學習方式是通過官方文件去學習。不過個人覺得官方文件多多少少有一些不夠高效。 中文官方文件 因此這篇是從我學習

如何把照片做成視訊?抖音爆款的圖片視訊切換教程快速上手

現在都流行用照片隨手記錄生活。而把照片做成視訊,又是現在刷爆抖音、朋友圈的形式。不僅有酷炫的圖片切換效果,還帶有動聽的背景音樂,這樣精美又吸睛的照片視訊,肯定能讓你獲得超多贊。今天就教大家用數碼大師快速把照片做成視訊,即刻擁有超酷炫超流行的效果。 一鍵運用上數碼大師中各種好看的照片切換特效

Solidity 語言簡易入門快速上手

Solidity語言簡介 solidity語言是一種可以編寫智慧合約的高階語言,當然編寫智慧合約不止這一種,但是學習以太坊最好還是學會這一種語言就差不多了。在以太坊平臺上,solidiy編寫的智慧合約會執行在以太坊虛擬機器EVM之上,變成位元組碼執行。 新手入門建議使用官方IDE開發工具Re

RabbitMQ教程快速上手

1. 概述         RabbitMQ是資訊傳輸的中間者,本質上,從生產者接收訊息,轉達訊息給消費者。換句話說,就是根據你指定的規則進行訊息轉發,緩衝和持久化。         專業術語: &

30分鐘快速上手Lucene v7.4.0

Lucene截止目前,最新版本為v7.4.0。它是一個開放原始碼的全文檢索引擎工具包,但它不是一個完整的全文檢索引擎,而是一個全文檢索引擎的架構,提供了完整的查詢引擎和索引引擎,部分文字分析引擎(英文與德文兩種西方語言)。 目錄: 1 Luce

快速上手OpenCV影象處理

影象讀取和顯示 OpenCV中通過imread函式讀取圖片,讀取的圖片通過Mat類接收,通過imshow函式顯示圖片。 #include <iostream> #include &l

【乾貨】富文字編輯器核心操作(contenteditablewindow.getSelection()FileReader與blob影象資源處理)

1、內容編輯contenteditable做前端的基本都知道,讓div可寫,但問起有那些屬性值時,很多人會天真的以為只有“true ”or“ false”contenteditable="" contenteditable="events" contenteditable="

微信公眾號 點。支持滑動放大功能。

-1 放大 ++ inf cti this b- click scrip <script type="text/javascript" src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script

Android------實現圖片放大縮小左右滑動的多種方式

params getcount androi nullable per try out 多圖 tro 項目中常常有圖片瀏覽功能。像微信朋友圈圖片瀏覽,QQ空間照片瀏覽 的功能。 實現圖片雙擊放大,縮小,左右滑動等效果。 來看看我的效果圖,希望能滿足你的要求 前

js實現移動端圖片:手勢縮放 手勢拖動放大...

在屏幕上 turn cit format 基礎上 set 邊距 點擊 點擊事件 前言本文將介紹如何通過js實現移動端圖片預覽,包括圖片的 預覽模式,手勢縮放,手勢拖動,雙擊放大等基本功能;

vue專案中禁止移動端放大雙手拉大放大的方法

在vue打包後生成的dist目錄檔案下下面有index.html 開啟裡面 把原來的這個 <meta name=viewport content="width=device-width,initial-scale=1">    替換成這個就行了 <meta cont

超分影象處理過程float32型別轉uint8型別顯示

sr_image = self.create_network(lr_image) sr_image = sr_image * 255.0 sr_image = tf.cast(sr_image, tf.int32) sr_im

Visual Studio 2019 首個版本搶先看有啥新功能?

微軟在 Connect 2018 大會上釋出Visual Studio 2019 第 1 個預覽版本。該預覽版本中展示了許多變更,從 IDE 的啟動行為,到程式碼重構功能;從搜尋功能的更多用法,到更好的大型專案導航。 這個預覽版本展現了微軟希望盡全力幫助開發人員更快地完成他們的專案。微軟

【我的Android進階之旅】自定義控制元件之使用ViewPager實現可以的畫廊效果並且自定義畫面切換的動畫效果的切換時間

我們來看下效果 在這裡,我們實現的是,一個ViewPager來顯示圖片列表。這裡一個頁面,ViewPage展示了前後的預覽,我們讓預覽頁進行Y軸的壓縮,並設定透明度為0.5f,所有我們看到gif最後,左右兩邊的圖片有點朦朧感。讓預覽頁和主頁面有主從感。我們用分