導航:首頁 > 操作系統 > android圖片bitmap對象

android圖片bitmap對象

發布時間:2022-05-24 06:41:33

android中Bitmap和BitmapDrawable有什麼不同

Bitmap繼承Parcelable,是一個可以跨進程傳輸的對象,BitmapDrawable繼承Drawable,可Drawable只是一個抽象類,此類是一個存放數據流的載體。

1.使用情況:如果想綁定imageView之類的控制項,兩者都可以用,而想要將圖片數據轉換成其它對象,Bitmap功能更強大,而BitmapDrawable只是一個流的載體,所以一般獲取src資源文件的時候用得多,而想要把資源圖片截入到Bitmap需要轉換後才可得到Bitmap對象。
2.BitmapDrawable就是封裝了一個點陣圖。直接以文件的方式,就是封裝了一個原始的點陣圖。以Xml方式,可以對原始的點陣圖進行一系列的處理,比如說抗鋸齒,拉伸,對齊等等。
3.要了解BitmapDrawable的使用,還需要明白Bitmap、BitmapFactory等類。Bitmap代表了一個原始的點陣圖,並且可以對點陣圖進行一系列的變換操作。BitmapFactory提供一系列的方法用於產生一個Bitmap對象。多用在Canvas中。

㈡ 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在屏幕中位置

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

㈣ 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 怎麼判斷bitmap對象有沒有被使用

android 判斷bitmap對象有沒有被使用,可以通過bitmap的屬性isRecycled()方法判斷,如果已經被回收,說明沒有被使用,如下代碼:

java">//先判斷是否已經回收
if(bitmap!=null&&!bitmap.isRecycled()){
//回收並且置為null
bitmap.recycle();
bitmap=null;
}

Bitmap類的構造方法都是私有的,所以開發者不能直接new出一個Bitmap對象,只能通過BitmapFactory類的各種靜態方法來實例化一個Bitmap。仔細查看BitmapFactory的源代碼可以看到,生成Bitmap對象最終都是通過JNI調用方式實現的。所以,載入Bitmap到內存里以後,是包含兩部分內存區域的。簡單的說,一部分是Java部分的,一部分是C部分的。這個Bitmap對象是由Java部分分配的,不用的時候系統就會自動回收了,但是那個對應的C可用的內存區域,虛擬機是不能直接回收的,這個只能調用底層的功能釋放。所以需要調用recycle()方法來釋放C部分的內存。

㈦ 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對象進行組件圖片的設置。需要指出的是這個方法設置圖片時,進行大圖片的處理時,注意對圖片的縮放,否則會內存溢出。

(7)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.compress函數來把Bitmap對象保存成PNG或JPG文件,然後可以用BitmapFactory把文件中的數據讀進來再生成Bitmap對象。
保存的代碼大概類似於這樣:
try {
FileOutputStream out = new FileOutputStream(filename);
bmp.compress(Bitmap.CompressFormat.PNG, 90, out);
} catch (Exception e) {
e.printStackTrace();
}
具體的可以去查Bitmap和BitmapFactory的幫助文檔。

㈨ android,如何讀取資源文件里的圖片到bitmap里

  1. 方式:以R文件的方式

  2. 路徑:假設 res/drawable下有 test.jpg文件

    Bitmap bitmap=BitmapFactory.decodeResource(this.getContext().getResources(), R.drawable.test)

閱讀全文

與android圖片bitmap對象相關的資料

熱點內容
三台伺服器配置IP地址 瀏覽:173
如何用命令方塊連續對話 瀏覽:275
win7linux共享文件夾 瀏覽:302
命令符打開本地服務 瀏覽:599
android應用程序源碼 瀏覽:700
安卓開發工程師簡歷怎麼寫 瀏覽:59
熱水器水量伺服器是什麼意思 瀏覽:115
stk衛星編譯 瀏覽:480
對後台程序員的要求 瀏覽:761
ios大文件夾圖標 瀏覽:624
生的計劃pdf 瀏覽:713
oppoa93加密便簽在哪查找 瀏覽:21
兩個數字的加減乘除運算編程 瀏覽:227
給手機加密碼忘記了怎麼辦 瀏覽:601
單片機運算符 瀏覽:297
移動端微信商城源碼 瀏覽:443
編程貓下一個背景在哪裡 瀏覽:359
javaclasstype 瀏覽:240
樂高編程和樂高課的延伸 瀏覽:357
蘋果手機怎麼切換app美國賬號 瀏覽:865