androidbitmap路徑
Ⅰ 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.graphics.drawable.BitmapDrawable@426ed550」這種路徑的圖片
首先你要把hashmap改成HashMap(String, Drawable)
然後put進去
ImageView有個方法
setImageDrawable(Drawable d)
直接把drawable對象傳如即可
如果只能得到資源,可以調用setImageResource(int resourceId)
Ⅲ android中如何從SDcard中讀取圖片文件
用路徑的方法尋找,BitmapFactory.decodeFile(路徑)返回值是一個Bitmap,比如sdcard的根目錄有個test.png,那麼可以這么用BitmapFactory.decodeFile("mnt/sdcard/test.png")。然後ImageView之類的圖片控制項,可以用setImageBitmap(Bitmap)之類的方法,就可以使用sdcard中的圖片了,
不過好像需要加一個許可權的,就是在androidmanifest.xml中添加。
你說的讀取系統一個小圖標R.drawable.ic_menu_camera,其實也是用路徑尋找的,不過被google封裝起來了,用映射的方法尋找到相關路徑下的文件。 比如R.drawable 就知道是res下面drawable-XX(根據系統配置,尋找不同文件夾下的圖片)文件下的圖片,比如R.layout 就是res下面layout下面的文件。SimpleAdapter可以算是一個測試用的設配器,最好自己嘗試寫設配器,自由空間比較大。
Ⅳ android中怎麼獲取一個bitmap在屏幕中位置
是要編寫一個這樣的功能么,android提供的api裡面一般圖片都是bitmap,可以通過canvas.drawbitmap的方法在view進行圖片的繪制,在方法中需要進行傳入一個類型為matrix的參數,設置martrix的一些參數就可以進行圖片的放大的繪制,這只是顯示,也就是mvc中的view層,然後通過提供的一些觸摸函數的重寫並實現自己需要的一些功能,如拖動,實際上就是改變bitmap繪制的位置。關於觸摸的處理和圖片的繪制可以在網上進行一些教程的搜索,我就不羅列了,最終就是需要通過控制函數來改變圖片的繪制方式,這也許就是你所需要的功能。