1. 程式人生 > >通過bitmap改變圖片的大小

通過bitmap改變圖片的大小

有時候需要在專案中改變圖片的大小,那麼在程式碼中我們怎麼改變圖片的大小呢?

下面就講下實現過程

一、通過BitmapFactory獲取原始圖片

二、獲取圖片的寬、高

三、設定想要的寬、高大小

四、計算壓縮的比率

五、獲得縮放的matrix

六、獲取新的bitmap

其實很簡單,主要就是api的使用。下面就貼出程式碼

private Bitmap changeBitmapSize() {
    Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher);
    int width = bitmap.getWidth();
    int height = bitmap.getHeight();
    Log.e("width","width:"+width);
    Log.e("height","height:"+height);
    //設定想要的大小


    int newWidth=30;
    int newHeight=30;

    //計算壓縮的比率
    float scaleWidth=((float)newWidth)/width;
    float scaleHeight=((float)newHeight)/height;

    //獲取想要縮放的matrix
    Matrix matrix = new Matrix();
    matrix.postScale(scaleWidth,scaleHeight);

    //獲取新的bitmap
    bitmap=Bitmap.createBitmap(bitmap,0,0,width,height,matrix,true);
    bitmap.getWidth();
    bitmap.getHeight();
    Log.e("newWidth","newWidth"+bitmap.getWidth());
    Log.e("newHeight","newHeight"+bitmap.getHeight());
    return bitmap;
}

使用的時候直接呼叫就行。使用示例:

 

ps:歡迎關注

 公眾號:android_dkx


相關推薦

通過bitmap改變圖片大小

有時候需要在專案中改變圖片的大小,那麼在程式碼中我們怎麼改變圖片的大小呢? 下面就講下實現過程 一、通過BitmapFactory獲取原始圖片 二、獲取圖片的寬、高 三、設定想要的寬、高大小 四、計算壓縮的比率 五、獲得縮放的matrix 六、獲取新的bitmap 其實很

通過cv2.resize()來改變圖片大小

import cv2 import matplotlib.pyplot as plt  image=plt.imread('timg.jpg')res=cv2.resize(image,(224,224),interpolation=cv2.INTER_CUBIC) plt

等比例改變圖片大小

exists write graphic pri runt delet jpeg scale read import java.awt.image.BufferedImage; import java.io.BufferedOutputStream; import jav

最簡單的方法來壓縮圖片改變圖片大小

com post 分享 圖片大小 壓縮圖片 bubuko log OS 技術分享 1. 2. 3.按照百分比或像素 調整即可 最簡單的方法來壓縮圖片,改變圖片大小

MATLAB批量改變圖片大小

%2018年6月28日11:07:15 %把一個目錄下的圖片縮放到指定大小 clc clear ratio = 0.2;%縮放比例 cd('F:\資料集\crumpled clothes\cloth3\original image\');%不加這句話找不到圖片 dpath = 'F:\資料集\c

matlab 遍歷兩層資料夾,對兩層資料夾進行改變圖片大小處理【轉載】

<link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/template/css/ck_htmledit_views-

記幾個常用的動態改變圖片大小布局的東東

第一個:設定圖片大小的,特別在adapter中,圖片大小要動態改變的時候 ViewGroup.LayoutParams params = imageview.getLayoutParams(); params.height = DensityUtil.dip2px(ctx,

photoshop批處理改變圖片大小

一、錄製: 1、在“視窗”選單中開啟“動作”面板。 2、點“動作”面板右下的“建立新動作”按扭,此時它已開始錄製動作(顯示圓點為選中的) 3、下一步開啟你所要做批處理的第一個圖片到PS中(動作面板已記錄下一個名為“開啟”的動作) 4、接著--“影象”--“影象大小”,更改你所要的大小,然後確定(動作面板已記錄

[Android]實現點擊持續錄音,松開結束錄音,並實現隨著分貝的大小改變圖片

chang ear sage ktr activit preview enter .sh new t 顯示錄音大小的DIALOG實現 public class VioceDomio { private Context mContext; private

通過url動態獲取圖片大小方法總結

很多時候再專案中,我們往往需要先獲取圖片的大小再載入圖片,但是某些特定場景,如用過cocos2d-js的人都知道,在它那裡只能按比例縮放大小,是無法設定指定大小的圖片的,這就是cocos2d-js 的坑了,我們必須先獲取圖片大小,計算比例再對圖片進行縮放。 查閱資料,我總結了兩種通過url獲取圖片大小的方法

解決微信外掛wxparse圖片大小不能改變的問題

1.問題:   最近在寫小程式,需要使用html.使用了外掛wxParse.這個外掛一個弊端就是 圖片的大小不能自己在html中控制,只能按照原來圖片儲存的寬高進行顯示.這樣很困擾. 2.解決辦法:  1.參考了 https://blog.csdn.net/tgy_csdn/article/d

CAD檔案轉換出的圖片大小如何進行改變

CAD檔案轉換出的圖片大小如何進行改變?我們在將一張CAD圖紙檔案轉換成PDF格式的時候,如果需要將這張圖片設定成特定的格式大小應該如何進行此項操作呢,今天小編就要來教教大家如何改變一張轉換好的CAD圖紙大小的全部操作步驟,希望大家能夠進行採納! 第一步:需要進行圖紙格式轉換的,必須要有一款好用的轉

PHP不改變圖片長寬只改變圖片體積大小的壓縮方法

return 包括 多網站 目標 圖片管理 但是 數碼相機 url 文件服務器 現在基本上很多網站都有圖片管理,包括企業站也是,很多圖片為了保證質量可能需要高清,但是圖片太大的話,對於服務器也是個壓力,每次加載頁面的時候光頁面圖片就得好長時間,影響用戶體驗。 當然,如果有錢

pytorch讀取圖片並按比例改變圖片大小或者是固定大小

簡述 Scale是做比例放縮 CenterCrop是切割 程式碼 from PIL import Image import torchvision.transforms as transforms import matplotlib.pyplot as p

iphone中如何改變拍照的圖片大小

- (UIImage *) scaleFromImage: (UIImage *) image toSize: (CGSize) size {     UIGraphicsBeginImageContext(size);     [image drawInRect:CGRectMake(0, 0,

使用thumbnailator不按照比例,改變圖片大小

我們在平時的開發中,偶爾也會遇到圖片處理的問題,比如圖片的壓縮,按比例改變圖片的大小,不按比例改變圖片的大小等等。 如果要自己去開發這樣一套工具,我覺得大多數人都是做不到的,所以還是學會站在巨人的肩膀上來的比較輕巧。 所以在這裡給大家推薦google使用的開源工具包thumbnailator,這個工具包可以

MFC中怎麼通過程式改變Picture Control控制元件的大小

我是想通過MFC做一個波形顯示的介面,通過Picture Control控制元件顯示波形,剛開始不知怎麼改變這個視窗的大小 BOOL CMFC_Example1Dlg::OnInitDialog() { CDialogEx::OnInitDialog(); // TOD

java 等比例 改變圖片的質量(等大小壓縮圖片)

/** * @param originalFile 原檔案 * @param resizedFile 壓縮目標檔案 * @param quality 壓縮質量(越高質量越好) * @param scale 縮放比例; 1等

java壓縮圖片記憶體大小,但不改變解析度大小,第一種方式

/*** @Title: compressPicByQuality * @Description: 壓縮圖片,通過壓縮圖片質量,保持原圖大小* @param  quality:0-1* @return byte[] * @throws*/public static byte

c#禁止通過拖動,雙擊標題欄改變窗體大小

最近寫windows窗體程式,發現一個煩人的問題。 窗體初始化時禁用了最大化按鈕,並使之最大化。本希望窗體一直保持最大化。但是拖動,雙擊標題欄時窗體就會縮小。煩死了+_+。 最後,終於找到了解決方法