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万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章