Android圖片

概念:
ROM ---- Read Only Memory(內部存儲空間) 
存儲安裝程序
刷機 --- 刷ROM
可掉電的
RAM ---- Random Access Memory 
相當於電腦的內存

VMHeap - 爲每一個運行程序分配的內存
16M 

內存卡 - 外存
     SDcard
0、打開系統圖庫
獲取Result ---- 選中的圖片回顯


//通過內容提供者獲取圖片存儲的ID
data ---> getData();


1、加載圖片到內存 ---
實現流程
方式:1,2,3,4  

A.圖片 2560 * 1600 像素
B.Android每一個像素的表示 ARGB
一個像素是四個字節表示
C.圖片加載進內存需要的空間

2560 * 1600 * 4

A.可能產生的問題
加載大圖片時內存溢出
B.問題產生的原因
1、每個程序分配的空間有限
2、加載的圖片空間太大
C.問題解決
方案一:加大分配空間
方案二:按比例對圖片進行縮放,減小圖片所佔的內存
android.graphics.BitmapFactory.Options
不加載圖片進內存獲取圖片信息
長和高
獲取屏幕長度和高度


解析圖片信息 ExifInterface


2、自定義圖片


Bitmap的創建 --- Bitmap.createBitmap();
重繪時,以前繪製的內容保存 ---- bitmap的保存函數 ---> compress


XML與代碼結合設置界面
A.代碼編寫
注意:構造函數 AttributeSet
B.XML使用的標籤
要引用的類的包名 + 類名(全限定名)


3、繪製文字
居中繪製文字
A.Android當中如何繪製文字的 --- 基線概念
B.計算文字位移
C.高度獲取


4、圖片縮放
Matrix.setScale
5、圖片平移
Matrix.setTranslate
會覆蓋matrix之前設置的數據
Matrix.postTranslate
不會覆蓋


圖片的縮放與平移結合使用產生倒影以及鏡像效果

6、旋轉
Matrix.setRotate


7、顏色調整
//顏色矩陣生成器
ColorMatrix cm = new ColorMatrix();
//設置矩陣
cm.set(new float[]);
//畫筆使用過濾器設置顏色
paint.setColorFilter(new ColorMatrixColorFilter(cm));

8、圖片合成 --- 結合API 與 模擬器APIDemon示例 --- 不要死記代碼
p.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_OVER));


9、動畫 ----- 


幀  動畫
XML方式:
1、資源存儲在drawable下
2、創建相關的xml文件
ITEM 設置 ---- 間隔、圖片
3、ImageView設置背景資源爲xml文件
4、獲取bg並強轉成AnimationDrable
5、調用開始或停止播放函數

代碼方式:
1、對象創建
2、獲取、添加圖片幀
3、set函數設置對象


補間動畫
1、anim創建配置文件
注意:屬性 --- 

2、代碼中使用工具類將資源轉換成動畫對象
AnimationUtils
3、開啓動畫效果


發佈了40 篇原創文章 · 獲贊 1 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章