最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java圖片縮放實(shí)現(xiàn)圖片填充整個(gè)屏幕

 更新時(shí)間:2022年04月22日 10:08:35   作者:Alex_MaHao  
這篇文章主要介紹了java圖片縮放實(shí)現(xiàn)圖片填充整個(gè)屏幕,本文提供了兩種解決方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

在Android中因?yàn)椴煌袼厥謾C(jī)的多樣化,對(duì)于一張圖片,放大不同的手機(jī)上因像素不同顯示上也會(huì)有區(qū)別。

現(xiàn)有如下需求:將一張圖片寬度充滿整個(gè)屏幕并顯示。

我們常常做的可能是如下兩種方式對(duì)圖片進(jìn)行處理。

通過<ImageView>,定義屬性layout_parent="match_parent"和layout_parent="wrap_content",同時(shí)利用<ImageView>的scaleType屬性進(jìn)行縮放。
- scaleType="fitXY":當(dāng)設(shè)置為該屬性時(shí),會(huì)導(dǎo)致圖片橫向拉伸,導(dǎo)致圖片變形,如果圖片上有字體,那么這將是很糟的一件事。
- scaleType="centerCrop":等比縮放應(yīng)該沒問題了吧,可是很尷尬,還是不行。圖片在處理的時(shí)候,首先會(huì)得到圖片的大小,確定圖片寬高之后再進(jìn)行縮放。這樣在圖片顯示的范圍確定之后再以圖片的中心點(diǎn)進(jìn)行等比縮放,直到寬度完全充滿了屏幕。這樣很尷尬,圖片的上下會(huì)被切掉,這樣圖片顯示不全,仍然不是我們想要的。

我的做法是,在代碼中通過縮放后得到圖片,然后通過設(shè)置backgroud的方法將圖片添加進(jìn)去,這樣就解決了,那么上代碼:

//得到圖片的分辨率,獲取寬度
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
int mScreenWidth = dm.widthPixels;// 獲取屏幕分辨率寬度
int mScreenHeight = dm.heightPixels;

//加載圖片
Bitmap bitmap = BitmapFactory.decodeResource(getResources(),
        R.drawable.bank_help);
    int bitmapWidth = bitmap.getWidth();
    int bitmapHeight = bitmap.getHeight();

//得到圖片寬度比
float num = mScreenWidth / (float)bitmapWidth;

Matrix matrix = new Matrix();
matrix.postScale(num, num);
// 產(chǎn)生縮放后的Bitmap對(duì)象
Bitmap resizeBitmap = Bitmap.createBitmap(bitmap, 0, 0, bitmapWidth,
        bitmapHeight, matrix, true);

以上代碼,分為以下步驟

1. 獲取屏幕分辨率。
2. 獲取圖片并測(cè)量寬高,獲取圖片的寬高
3. 通過屏幕寬度/圖片寬度得到對(duì)應(yīng)的縮放比
4. 創(chuàng)建Matrix對(duì)象,并確定縮放。(ps:這個(gè)東西很叼,在前面的漸變色中也用到了改對(duì)象)
5. 通過Bitmap.createBitmap()方法生成圖片。(ps:最后一個(gè)參數(shù)必須傳true,傳入false的話,縮放的圖片會(huì)顯示不清楚)

以上就是java圖片處理相關(guān)操作介紹,希望對(duì)大家的學(xué)習(xí)有所幫助。

相關(guān)文章

  • Java使用JSONPath解析JSON完整內(nèi)容詳解

    Java使用JSONPath解析JSON完整內(nèi)容詳解

    這篇文章主要介紹了Java使用JSONPath解析JSON完整內(nèi)容詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • Java中ScheduledExecutorService介紹和使用案例(推薦)

    Java中ScheduledExecutorService介紹和使用案例(推薦)

    ScheduledExecutorService是Java并發(fā)包中的接口,用于安排任務(wù)在給定延遲后運(yùn)行或定期執(zhí)行,它繼承自ExecutorService,具有線程池特性,可復(fù)用線程,提高效率,本文主要介紹java中的ScheduledExecutorService介紹和使用案例,感興趣的朋友一起看看吧
    2024-10-10
  • idea打開和讀取*properties文件亂碼的解決

    idea打開和讀取*properties文件亂碼的解決

    本文主要介紹了idea打開和讀取*properties文件亂碼的解決,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-09-09
  • 關(guān)于各種排列組合java算法實(shí)現(xiàn)方法

    關(guān)于各種排列組合java算法實(shí)現(xiàn)方法

    這篇文章介紹了幾種用JAVA實(shí)現(xiàn)的排列組合算法,有需要的朋友可以參考一下
    2013-06-06
  • 詳解Spring Data JPA中Repository的接口查詢方法

    詳解Spring Data JPA中Repository的接口查詢方法

    repository代理有兩種方式從方法名中派生出特定存儲(chǔ)查詢:通過直接從方法名派生查詢和通過使用一個(gè)手動(dòng)定義的查詢。本文將通過示例詳細(xì)講解Spring Data JPA中Repository的接口查詢方法,需要的可以參考一下
    2022-04-04
  • Java有效處理異常的三個(gè)原則

    Java有效處理異常的三個(gè)原則

    Java中異常提供了一種識(shí)別及響應(yīng)錯(cuò)誤情況的一致性機(jī)制,有效地異常處理能使程序更加健壯、易于調(diào)試。那么這篇文章總結(jié)了Java有效處理異常的三個(gè)原則,有需要的朋友們可以參考借鑒。
    2016-09-09
  • java網(wǎng)上圖書商城(7)訂單模塊2

    java網(wǎng)上圖書商城(7)訂單模塊2

    這篇文章主要為大家詳細(xì)介紹了java網(wǎng)上圖書商城,訂單模塊第二篇,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • 如何對(duì)Mysql數(shù)據(jù)表查詢出來的結(jié)果進(jìn)行排序

    如何對(duì)Mysql數(shù)據(jù)表查詢出來的結(jié)果進(jìn)行排序

    這篇文章主要介紹了如何對(duì)Mysql數(shù)據(jù)表查詢出來的結(jié)果進(jìn)行排序問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • Java實(shí)現(xiàn)簡(jiǎn)單猜數(shù)字小游戲

    Java實(shí)現(xiàn)簡(jiǎn)單猜數(shù)字小游戲

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)猜數(shù)字游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-12-12
  • 淺談MyBatis中@MapKey的妙用

    淺談MyBatis中@MapKey的妙用

    這篇文章主要介紹了MyBatis中@MapKey的妙用,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-01-01

最新評(píng)論

青冈县| 灵武市| 台山市| 屯留县| 监利县| 张北县| 安义县| 余庆县| 甘孜| 邵东县| 于田县| 磴口县| 邵东县| 永济市| 宁城县| 永嘉县| 襄樊市| 綦江县| 富裕县| 凤城市| 罗山县| 富宁县| 万宁市| 兴宁市| 武冈市| 金寨县| 浙江省| 正定县| 澎湖县| 海兴县| 志丹县| 佛坪县| 南岸区| 芜湖市| 临城县| 青神县| 莱西市| 多伦县| 凤冈县| 济宁市| 高邮市|