導航:首頁 > 操作系統 > android得到bitmap

android得到bitmap

發布時間:2023-08-09 18:43:22

『壹』 android開發怎麼得到Bitmap所佔資源的大小

『貳』 android: ImageView的setImageBitmap()方法

一、ImageView的setImageBitmap()是設置imageView組件的圖片顯示。它的定義和源碼如下:

1、在源代碼中輸入:if this is used frequently,may handle bitmaps explicitly // to rece the intermedite drawable abject;

2、它實際上是對setImageDrawable介面的封裝,支持直接略過Bitmap對象進行組件圖片的設置。需要指出的是這個方法設置圖片時,進行大圖片的處理時,注意對圖片的縮放,否則會內存溢出。

(2)android得到bitmap擴展閱讀:

一、Bitmap設置代碼:

1、ImageView的setImageBitmap()是設置imageView組件的圖片顯示,實際上是setImageDrawable介面的封裝,支持直接略過Bitmap對象進行組件圖片的設置。

2、需要指出的是這個方法設置圖片時,進行大圖片的處理時,注意對圖片的縮放,否則會內存溢出。if this is used frequently,may handle bitmaps explicitly // to rece the intermedite drawable abject;

二、根據位深度,可將點陣圖分為1、4、8、16、24及32點陣圖像等。每個像素使用的信息位數越多,可用的顏色就越多,顏色表現就越逼真,相應的數據量越大。例如,位深度為 1 的像素點陣圖只有兩個可能的值(黑色和白色)。

1、所以又稱為二值點陣圖。位深度為 8 的圖像有 2^8(即 256)個可能的值。位深度為 8 的灰度模式圖像有 256 個可能的灰色值。

2、RGB圖像由三個顏色通道組成。8 位/通道的 RGB 圖像中的每個通道有 256 個可能的值,這意味著該圖像有 1600 萬個以上可能的顏色值。

3、有時將帶有 8 位/通道 (bpc) 的 RGB 圖像稱作 24 點陣圖像(8 位 x 3 通道 = 24 位數據/像素)。通常將使用24位RGB組合數據位表示的的點陣圖稱為真彩色點陣圖。

4、BMP文件是微軟公司所開發的一種交換和存儲數據的方法,各個版本的Windows都支持BMP格式的文件。Windows提供了快速、方便的存儲和壓縮BMP文件的方法。BMP格式的缺點是,要佔用較大的存儲空間,文件尺寸太大。

『叄』 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開發藝術探索》

『肆』 android怎麼獲取bitmap左上角坐標

用ImageView來裝載這個bitmap並且填滿整個ImageView,再用imageview對象來獲取坐標值,getX(),getY(),獲取的就是左上角的坐標值

『伍』 android 怎麼獲得bitmap對象

保存界面可視化組件,在調用View.getDrawingCache方法前需要調用measure和layout方法才能可以成功獲取布局的Bitmap對象
代碼如下:

//獲得xml的布局截圖
View view=getLayoutInflate r().inflate(R.layout.dialog, null);
//打開圖像緩存
view.setDrawingCacheEnabled(true);
//需要調用measure和layout方法
view.measure(MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED), MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED));
//發送位置和尺寸到view及其所有的子view
view.layout(0, 0, view.getMeasuredWidth(),view.getMeasuredHeight());
//獲得可視化組件的截圖
Bitmap bitmap=view.getDrawingCache();
try {
//保存在sdcard目錄下
FileOutputStream fos=new FileOutputStream("/sdcard/test.png");
bitmap.compress(CompressFormat.PNG, 100, fos);
//關閉文件輸出流
fos.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

『陸』 android中怎麼獲取一個bitmap在屏幕中位置

是要編寫一個這樣的功能么,android提供的api裡面一般圖片都是bitmap,可以通過canvas.drawbitmap的方法在view進行圖片的繪制,在方法中需要進行傳入一個類型為matrix的參數,設置martrix的一些參數就可以進行圖片的放大的繪制,這只是顯示,也就是mvc中的view層,然後通過提供的一些觸摸函數的重寫並實現自己需要的一些功能,如拖動,實際上就是改變bitmap繪制的位置。關於觸摸的處理和圖片的繪制可以在網上進行一些教程的搜索,我就不羅列了,最終就是需要通過控制函數來改變圖片的繪制方式,這也許就是你所需要的功能。

『柒』 android 讀取Bitmap的幾種方式

想讀取本地項目里的資源圖片,但又不能用到R文件。查了很多資料終於找到了。 現總結以下幾種讀取Bitmap的方法。 1.以文件流的方式,假設在sdcard下有 test.png圖片 FileInputStream fis = new FileInputStream("/sdcard/test.png"); Bitmap bitmap=BitmapFactory.decodeStream(fis); 2. 以R文件的方式,假設 res/drawable下有 test.jpg文件Bitmapbitmap =BitmapFactory.decodeResource(this.getContext().getResources(), R.drawable.test); 3.以ResourceStream的方式,但不用到R文件。 Bitmap.bitmap=BitmapFactory.decodeStream(getClass().getResourceAsStream(「/res/drawable/test.png」)); 圖片名就可以讀取到 Bitmap啦。 BitmapFactory.Options options = new BitmapFactory.Options(); options.inSampleSize = 2; //圖片寬高都為原來的二分之一,即圖片為原來的四分一 //以上代碼可以優化內存溢出,但它只是改變圖片大小,並不能徹底解決內存溢出。

閱讀全文

與android得到bitmap相關的資料

熱點內容
伺服器如何定期執行指令 瀏覽:931
python下載python腳本 瀏覽:297
台達plc遠程編程 瀏覽:263
雲計算的後台伺服器 瀏覽:589
windows7的我的電腦咋創建文件夾 瀏覽:492
去視頻水印的app哪個好用 瀏覽:384
doc轉為pdf 瀏覽:48
華為加密壁紙怎麼提取 瀏覽:52
曲線命令的描述 瀏覽:454
php模板怎麼修改 瀏覽:999
單片機和微機編程的區別 瀏覽:642
金牛期貨哪個app好 瀏覽:803
程序員越老越貶值嗎 瀏覽:211
安卓手機用計算機如何隱藏應用 瀏覽:459
網吧伺服器如何架設 瀏覽:322
垃圾壓縮罐用電安全 瀏覽:621
b150能用什麼伺服器cpu 瀏覽:477
支付寶批量付款app哪個好 瀏覽:849
java開源社區源碼 瀏覽:475
cad哪個命令和滾輪一樣縮放 瀏覽:986