Android Glide載入圖片時轉換為圓形、圓角、毛玻璃等圖片效果
Android Glide載入圖片時轉換為圓形、圓角、毛玻璃等圖片效果
附錄1簡單介紹了Android開源的圖片載入框架。在實際的開發中,雖然Glide解決了快速載入圖片的問題,但還有一個問題懸而未決:比如使用者的頭像,往往使用者的頭像是從伺服器端讀出的一個普通矩形圖片,但是現在的設計一般要求在APP端的使用者頭像顯示成圓形頭像,那麼此時雖然Glide可以載入,但加載出來的是一個矩形,如果要Glide在載入過程中就把矩形圖轉換成圓形的,則需要在Glide之上引入一個開源專案:glide-transformations
glide-transformations在github上的專案主頁是:
寫一個例子說明。
- package zhangphil.app;
- import android.support.v7.app.AppCompatActivity;
- import android.os.Bundle;
- import android.widget.ImageView;
- import com.bumptech.glide.Glide;
- import jp.wasabeef.glide.transformations.BlurTransformation;
-
import
- import jp.wasabeef.glide.transformations.RoundedCornersTransformation;
- publicclass MainActivity extends AppCompatActivity {
- //我csdn部落格頭像
- String url = "http://avatar.csdn.net/9/7/A/1_zhangphil.jpg";
- @Override
-
protectedvoid onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- //原圖,是我部落格的頭像
- ImageView image1 = (ImageView) findViewById(R.id.image1);
- Glide.with(this).load(url).crossFade(1000).into(image1);
- //原圖 -> 圓圖
- ImageView image2 = (ImageView) findViewById(R.id.image2);
- Glide.with(this).load(url).bitmapTransform(new CropCircleTransformation(this)).crossFade(1000).into(image2);
- //原圖的毛玻璃、高斯模糊效果
- ImageView image3 = (ImageView) findViewById(R.id.image3);
- Glide.with(this).load(url).bitmapTransform(new BlurTransformation(this, 25)).crossFade(1000).into(image3);
- //原圖基礎上覆合變換成圓圖 +毛玻璃(高斯模糊)
- ImageView image4 = (ImageView) findViewById(R.id.image4);
- Glide.with(this).load(url).bitmapTransform(new BlurTransformation(this, 25), new CropCircleTransformation(this)).crossFade(1000).into(image4);
- //原圖處理成圓角,如果是四周都是圓角則是RoundedCornersTransformation.CornerType.ALL
- ImageView image5 = (ImageView) findViewById(R.id.image5);
- Glide.with(this).load(url).bitmapTransform(new RoundedCornersTransformation(this, 30, 0, RoundedCornersTransformation.CornerType.BOTTOM)).crossFade(1000).into(image5);
- }
- }
佈局則比較簡單,是一個垂直方向的線性佈局佈局了5個ImageView,不再贅述。
程式碼執行結果。
相關推薦
Android Glide載入圖片時轉換為圓形、圓角、毛玻璃等圖片效果
Android Glide載入圖片時轉換為圓形、圓角、毛玻璃等圖片效果 附錄1簡單介紹了Android開源的圖片載入框架。在實際的開發中,雖然Glide解決了快速載入圖片的問題,但還有一個問題懸而未決:比如使用者的頭像,往往使用者的頭像是從伺服器端讀出的一個普通矩形圖片
Android Glide 載入圖片
0.借鑑文章地址:http://blog.csdn.net/zivensonice/article/details/51835802 和 http://www.cnblogs.com/zhaoyanjun/p/5404162.html 1.導包:compile 'com.github.bumptech.gl
android glide載入base64圖片
1,直接上程式碼 public static boolean isBase64Img(String imgurl){ if(!TextUtils.isEmpty(imgurl)&&(imgurl.startsWith("data:image/png;
Android Glide載入圖片自動適應寬度
因為android的imgeview的scaletype都沒有可以在不改變原圖片比例的情況下自適應寬度的種類。所以用glide載入圖片的時候想要自適應寬度需要自己做點處理。 主要的思路就是在獲取到圖片之後,獲得圖片的寬dw和高dh,然後根據imageview的
Android圖片格式轉換為JPG
在做人臉識別專案中,首先需要註冊人臉,目前程式要求在指定的資料夾存入檔案格式為JPG的圖片即完成人臉註冊。使用中,部分使用者對JPG格式理解不深,誤以為只要以“.JPEG”或者“.jpg”結尾的圖片就是JPG格式,甚至有使用者還特意把“張三 .png”改成“張三.jpg
DataContractJsonSerializer序列化時間類型時轉換為UTC溢出問題
設置 arr AD toa C# exception default AR AC 問題描述 如下一個實體類,含有非空時間類型屬性,默認是C#的最小時間,在使用DataContractJsonSerializer將該類對象序列化成JSON時,拋出異常信息:System.Run
Android實現BMP和PNG轉換為JPEG格式
專案需求,需要把BMP24位的圖片轉換成jpeg的格式,在網上查詢了一些不同格式圖片的基本知識,加以總結,實現了一個簡單的Demo程式,先貼程式碼,然後再進行理解 picSwitcher.java檔案: package com.example.bmptojpeg; import ja
將圖片路徑轉換為圖片的base64格式
// 圖片轉化成base64字串 public static String GetImageStr(String imgFile) throws Exception {// 將圖片檔案轉化為位元組陣列字串,並對其進行Base64編碼處理 InputStream in = null
原生demo:上傳圖片-File轉換為Image,File轉換為canvas,canvas轉換為圖片
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <style type="text/css">
vue中圖片轉換為base64上傳、預覽、刪除
<template> <div class="com-upload-img"> <div class="img_group"> <div class="img_box" v-if="al
在故事板中載入 nib 時 IBOutlet 為 nil
故事板是在 iOS 5 開始出現的,在此之前我們使用的是 nib/xib。一個故事板支援多個 ViewController,同時可以在這些 ViewController 中進行連線(segue)。但是隨著工程中 ViewController 的增加,故事板中 ViewController
android glide載入原圖顯示
final ViewGroup.LayoutParams lp = topicContentHolder.img.getLayoutParams();Glide.with(context) .load(subBeanList.get(position).im
協調世界時轉換為GPS周秒(轉載)
void UTC2GPS(int year, int month, int day, int hour, int minute, double second, int *weekNo, double *secondOfweek) { /*****協調世界時轉換為GPS的
Android 將.sql格式檔案轉換為.db格式資料庫檔案
有些時候,我們的android應用程式需要用到外部的資料庫檔案。我們也清楚,適合於android平臺使用的或許是.db格式的資料庫檔案了。 下面說下如何將.sql格式的資料庫檔案利用Navicat Lite得到.db格式檔案。 步驟如下: 下載安裝Nav
Unity www獲取的圖片如何轉換為sprite
通過Texture2D tex = www.texture的方法雖然編譯不會報錯,但是無法轉換。可以通過 Texture2D tex = new Texture2D(100, 100); www.LoadImageIntoTexture(tex); Sprite spri
使用python將圖片格式轉換為ico格式
因為python打包的時候需要用到ico圖片格式,網上看好的圖片又沒有ico,於是自己尋找了一下python轉換圖片格式的方法,徹底解決這個問題,以後就可以自己輕鬆實現轉化了,程式碼如下: """ A
Android studio 的快捷鍵轉換為eclipse的快捷鍵
1.開啟file 2.點選setting 3.點選keymap 4.keymaps選項框中選擇Eclipse,然後copy 再點選應用。 最後需要注意的是Parameter Info 這
順序棧實現將十進位制整數轉換為r(2、8、16)進位制數
參考程式碼1: /順序棧結構利用陣列實現—引數由指標傳遞/ #include<stdlib.h> #include<stdio.h> #include<stddef.h> #define MAXSIZE 50 typedef char ElemTyp
Js中把JSON字串轉換為JSON物件(eval()、new Function())
在我們利用js操作json資料時一般會用到eval進行資料轉換了,但有些朋友還喜歡使用function來轉換,下面我就給大家總結一下具體例子。 在JS中將JSON的字串解析成JSON資料格式,一般有兩種方式: 1.一種為使用eval()函式。 2. 使用Function物
C#中如何把時間轉換為季度取季度第一天等時間取值問題雜燴
把時間轉換為季度: 第一種(驗證過,正確): /// <summary> /// 傳入月份,得到季度數 /// </summary>