當前位置:首頁 » 安卓系統 » android縮放bitmap

android縮放bitmap

發布時間: 2025-05-06 23:59:27

① Android 編程 如何實現 文字放大效果 例如圖片的放大和縮小的效果

這種功能需要使用print繪制,然後通過多點觸控事件來自行計算用戶是需要放大還是縮小,然後對應的去設置文字大小

② android 已經知道路徑怎麼將路徑中的圖片變成Bitmap

/**
* 獲取本地圖片並指定高度和寬度
*/
public static Bitmap getNativeImage(String imagePath)
{
BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;
// 獲取這個圖片的寬和高
Bitmap myBitmap = BitmapFactory.decodeFile(imagePath, options); //此時返回myBitmap為空
//計算縮放比
int be = (int)(options.outHeight / (float)200);
int ys = options.outHeight % 200;//求余數
float fe = ys / (float)200;
if (fe >= 0.5)
be = be + 1;
if (be <= 0)
be = 1;
options.inSampleSize = be;
//重新讀入圖片,注意這次要把options.inJustDecodeBounds 設為 false
options.inJustDecodeBounds = false;
myBitmap = BitmapFactory.decodeFile(imagePath, options);
return myBitmap;
}
/**
* 以最省內存的方式讀取本地資源的圖片 或者SDCard中的圖片
* @param imagePath
* 圖片在SDCard中的路徑
* @return
*/
public static Bitmap getSDCardImg(String imagePath)
{
BitmapFactory.Options opt = new BitmapFactory.Options();
opt.inPreferredConfig = Bitmap.Config.RGB_565;
opt.inPurgeable = true;
opt.inInputShareable = true;
//獲取資源圖片
return BitmapFactory.decodeFile(imagePath, opt);
}

③ android bitmap 圖片縮放問題

在使用Bitmap進行點陣圖讀取和顯示的時候需要注意在生成點陣圖時,系統會根據不同的情況來縮小、放大圖像。
當把圖片放到drawable文件夾中時,160密度的模擬器顯示的圖像有放大效果,240密度的模擬器顯示原尺寸的圖像。
當把圖片放到drawable-hdpi文件夾中時,160密度的模擬器顯示出的圖像有縮小效果,240密度的模擬器顯示原尺寸的圖像。
當把圖片放到drawable-mdpi文件夾中時,160密度的模擬器顯示原尺寸的圖像,240密度的模擬器顯示放大的圖像。
當把圖片放到drawable-ldpi文件夾中時,160、240密度的模擬器都顯示放大的圖片。
由此可以看出,在使用Bitmap顯示圖像時,一般應放在drawable-hdpi文件夾中,這樣可以根據屏幕的密度來調整圖像大小,比如再做游戲時,大屏幕的與小屏幕的手機中,人物或物體應該有大小之分。望求採納謝謝...

④ bitmap縮放到指定大小-android中怎麼是bitmap縮小

如何對圖片進行縮放到適應屏幕大小呀

/**顯示圖片,使用BitmapFactory()*path

*圖片SD卡路徑****/

privatevoidshow_Image(Stringpath){

//TODOAuto-generatedmethodstub

opts=new();

=2;//寬高設置成原來的1/2

Bitmapbit=newBitmapFactory().decodeFile(path,opts);

show_(bit);

還有很多屬性,你去查查吧,另外如果非要適應屏幕大小的話,你還需要獲取屏幕的大小,然後圖片大小跟屏幕大小比較,沒弄過一定要圖片跟屏幕大小填充滿的判空,就算填充滿,一定也會失真

android中怎麼是bitmap縮小

/**Bitmap放大的方法*/

privatestaticBitmapbig(Bitmapbitmap){

Matrixmatrix=newMatrix();

(1.5f,1.5f);//長和寬放大縮小的比例

BitmapresizeBmp=(bitmap,0,0,(),(),matrix,true);

returnresizeBmp;

}

這里放大縮小的方法都有:

android縮放和壓縮的區別

android縮放和壓縮圖片可以如下解釋虧蠢:

壓縮圖片

這里簡單的將一個圖片文件轉換為Bitmap,並且在轉換的過程中對圖片質量進行簡單壓縮:

(,intquality,FileOutputStreamfos);

注意這里的quality的范圍為0~100,經過測試如果這個值設置比較低的話圖片會非常不清晰,基本不可用,0~100的值可以參考類似Photoshop之類輸出圖片時選擇的圖片質量.

此方法只是單純對圖片質量進行處理,並不會改變其大小,如果需要改變圖片文件的大小,最好是使用縮放,這個可以在保證一定的圖片清晰度的情況下減少了圖片大小,畢竟手機屏幕就那麼點,你把2000px*1000px的圖片改為500px*250px在手機用戶看來也不會有太嚴重的不適感,而如果你只設置圖片的quality想來改變文件大小,你最後會發現得到的是一個2000px*1000px的幾個色塊.

縮放圖片

先提代碼看看:

[java]viewplain

/**

*保持長寬比縮小Bitmap

*

*@parambitmap

*@parammaxWidth

*@parammaxHeight

*@return

*/

publicBitmapresizeBitmap(Bitmapbitmap,intmaxWidth,intmaxHeight){

intoriginWidth=();

intoriginHeight=();

//noneedtoresize

if(originWidth<maxWidth&&originHeight<maxHeight){

returnbitmap;

}

intwidth=originWidth;

intheight=originHeight;

//若圖片過寬,則保持長寬比縮放圖片

if(originWidth>maxWidth){

width=maxWidth;

doublei=originWidth*1.0/maxWidth;

height=(int)(originHeight/i);

bitmap=(bitmap,width,height,false);

}

//若圖片過長,則從上端截取

if(height>maxHeight){

height=maxHeight;

bitmap=(bitmap,0,0,width,height);

}

//Log.i(TAG,width+"width");

//Log.i(TAG,height+"height");

returnbitmap;

}

這里演掘空瞎示是將圖片縮小到一個max范圍內,而不是直接將變成硬性的變成某個尺寸的圖片,因為一般來說這種設置max的方式符合大部分需要,如果必須將圖片變成某個指定尺寸可以直接使用方法,也是下面要介紹的.

此函數主要就是使用了Bitmap的兩個靜態方法,一個是:

(Bitmapsrc,intdstWidth,intdstHeight,booleanfilter)

此方法就會把一個Bitmap圖片縮放成指定的尺寸.

⑤ android圖片壓縮庫-說說在Android中如何壓縮圖片

Android黑科技,圖片終極壓縮

一、支持自定義配置、不失真和批量處理

二、圖片上傳為什麼要壓縮

1、圖片伺服器空間限制,磁碟昂貴

2、網路不穩定,大文件需要斷點續傳

3、盡可能避免安卓OOM異常

4、後台約定的規則<200KB

5、需要上傳原圖的應用有醫院臨床項目、金融銀行

三、圖片壓縮流程

1、遞歸每張圖片

2、設置圖片格式

png,jpg,webp

3、質量壓縮(format,quality,baos)

由於png是無損壓縮,所以設置quality無效(不適合作為縮略圖)

采樣率壓縮

縮小圖片解析度,減少所佔用磁碟空間和內存大小

縮放壓縮(bitmap,null,rectF,null)

減少圖片的像素,降低所佔用磁碟空間大小和內存大小,可用於緩存縮略圖

JNI調用JPEG庫

Android的圖片引擎使用的是閹割版的skia引擎,去掉了圖片壓縮中的哈夫曼演算法

4、像素修復

5、返回壓縮

6、完成壓縮

demo:

參考:

Luban框架

缺點

1、當沒有設定壓縮路徑時,拋異常無閃退

2、源碼中,壓縮比率固定值60,無法修改

3、壓縮配置,參數不太適應真實項目需求

4、不能指定壓縮大小,比如100KB以內

說說在Android中如何壓縮圖片

目前存在兩種壓縮圖片方式:

而圖片有三種存在形式:

bigmap在內存中的大小是按像素計算的,也就是width*height,所以如果需要在Android中顯示照片,那麼就必須進行按比例壓縮,避免因為內存消耗過大,導致APP退出。

是不是很簡單呀O(∩_∩)O哈哈~

Android圖片壓縮-大小與質量壓縮以及圖片保存

一、前言:

2.質量壓縮

注意:

第二次壓縮之前都要先清空();再進行壓縮(,quality,baos);

有時候我們採用質量壓縮沒有效果,有可能是每次壓縮的質量過小,所以我們可以嘗試修改壓縮質量(quality)是10;

quality壓縮機提示,0-100。0表示壓縮

小尺寸,100意味著最大質量的壓縮。一些

格式,如無損的PNG,將忽略質量設定;

3.混合方式壓縮

鏈接:

⑥ Android 圖片載入(一)高效載入Bitmap 基礎篇

由於Bitmap的特殊性以及Android對單個應用所規定的最大內存限制,我們在同時載入大量Bitmap時很容易發生內存溢出,即我們通常所說的OutOfMemoryError(OOM),因此高效載入Bitmap就成為了每個Android開發者的必備技能。

在學習如何高效地載入Bitmap之前,首先介紹一下如何載入一個Bitmap。我們都知道,Bitmap在Android中通常指的是一張圖片,那麼如何將JPG、PNG等格式的圖片轉換成Bitmap對象呢?BitmapFactory類給我們提供了一些方法:

接下來開始介紹如何高效地載入Bitmap,其實核心思想很簡單: 就是採用BitmapFactory.Options參數來調整圖片尺寸來適配控制項的大小。

假如我們顯示圖片的控制項ImageView寬高為100×100像素,而圖片的尺寸為1024×1024像素,這個時候如果將整個圖片載入進來並顯示到控制項上,自然是很佔用內存資源的。這個時候可以通過BitmapFactory.Options按一定的采樣率載入縮小後的圖片,再將縮小後的圖片顯示到ImageView中,這樣就能減小內存佔用從而在一定程度上避免OOM的發生。

通過BitmapFactory.Options來縮放圖片,主要是使用它的inSampleSize參數,也就是前面提到的采樣率。當采樣率inSampleSize為1時,采樣後的圖片大小為原圖大小;當采樣率inSampleSize>1,比如為2時,采樣後的圖片寬高都為原圖的1/2,即像素降為原圖的1/4,佔用的內存大小也就是原圖的1/4;比較特殊的是,當采樣率inSampleSize<1時,系統會自動將該值當做1來處理。 因此可以得出一個結論:采樣率inSampleSize必須是大於1的整數圖片才會有縮小的效果,並且采樣率同時作用於寬高,也就是說采樣後的圖片會縮小到原圖的1/(inSampleSize^2)。比如inSampleSize=4,那麼縮放比例為1/16。

我們現在知道了,通過采樣率可以提高圖片的載入效率,那麼如何才能計算出最合適的采樣率?我們可以按照如下流程:

接下來以decodeFile方法為例實現圖片的縮放,其他三個方法處理方式類似。

下一篇: Android 圖片載入(二)圖片載入框架Glide 入門篇

《Android開發藝術探索》

熱點內容
酷我上傳原創歌曲 發布:2025-05-07 02:53:21 瀏覽:416
庫存壓縮總結 發布:2025-05-07 02:53:16 瀏覽:381
安卓返迴圈怎麼設置 發布:2025-05-07 02:53:16 瀏覽:525
信道容量的迭代演算法 發布:2025-05-07 02:39:51 瀏覽:983
雲伺服器切換系統收費 發布:2025-05-07 02:34:44 瀏覽:453
電腦做伺服器怎麼開網 發布:2025-05-07 02:28:20 瀏覽:120
私募通資料庫 發布:2025-05-07 02:06:18 瀏覽:697
dhcp伺服器lan地址 發布:2025-05-07 02:03:54 瀏覽:204
python的字元串反轉 發布:2025-05-07 01:57:57 瀏覽:119
電腦進制編程 發布:2025-05-07 01:55:50 瀏覽:674