Android图形图像处理

一.图形与图像处理
        | ImageView 显示普通静态图片
        | AnimationDrawable 开发逐帧动画
                | <animation-lis.../>的子元素<item.../>中定义动画所有帧,并制定持续时间
        | Animation 对普通图片使用补减动画  定义开始结束关键帧,Android会自动完成动画
                | AlphaAnimation 透明度改变的动画
                | ScaleAnimation 大小缩放的动画
                | TranslateAnimation 位移变化的动画
                | RotateAnimation 旋转动画
                
                | 其中补帧多少,什么时间补帧.需要借助Interpolater
                        | LinearInterpolater 动画以均匀的速度改变
                        | AccelerateInterpolater 动画在开始的地方较慢,然后开始加速
                        | AccelerateDecelerateInterpolater 动画在开始结束的地方较慢,中间的地方较快
                        | CycleInterpolater 动画循环播放特定的次数,变化速度按正弦曲线改变
                        | DecelerateInterpolater 动画在开始的地方较快,然后组件减慢
        | Animator 属性动画
                | ValueAnimator 属性动画主要的时间引擎,他负责计算各个帧的属性值
                        | ObjectAnimator ValueAnimator的子类,允许程序员对指定对象的属性执行动画
                | AnimatorSet 用于组合多个Animator,并指定多个Animator是按次序播放还是同时播放
        | Evalueator 计算器,控制动画如何计算属性
                | IntEvalueator 用于计算int类型属性值的计算器
                | FloatEvalueator 用于计算float类型属性值的计算器
                | ArgbEvalueator 用于计算十六进制形式表示的颜色值的计算器
                | TypeEvalueator 计算器接口,可以实现该接口自定义计算器
        | Bitmap
                | boolean isRecycled() 返回该Bitmap对象是否已被回收
                | void recycle() 强制一个Bitmap对象立即回收自己
                | Bitmap.createBitmap(Bitmap source,int x,int y,int width,int height)         
                | Bitmap.ScaledBitmap(Bitmap src,int width,int height,boolean filter) 对原位图进行缩放,缩放成宽width高height的新位图
                    | Bitmap.createBitmap(int width,int height,Bitmap.Config config) 创建一个宽width高height的新位图
                | Bitmap.createBitmap(Bitmap source,int x,int y,int width,int height,Matrix m,boolean filter) 从原图(x,y)坐标开始,挖取长为width高为heigth的一块出来,创建新的                                Bitmap对象并按照Matrix指定的规则进行变换
                | BitmapDrawable 封装一个Bitmap对象
        | BitmapFactory 工具类,用来解析,创建Bitmap对象
                | decodeByteArray(byte[] b,int i,int len) 从指定数组的i位置开始截取长度为len的字节数据解析成Bitmap对象        
                | decodeFile(String pathName) 从pathName指定的文件中解析创建Bitmap对象
                | decodeFileDescriptor(FileDescriptor fd) 用于从FileDescriptor对应的文件中解析,创建Bitmap对象
                | decodeResource(Resources res,int id) 用于根据给定的资源id从指定的资源文件中解析,创建Bitmap对象
                | decodeStream(InputStream is) 用于从指定的输入流中解析,创建Bitmap对象
        | WallpaperManager 改变手机壁纸
                | setBitmap(Bitmap bitmap) 将壁纸设为bitmap所代表的位图
                | setResource(int resid) 将壁纸设为resid所代表的图片
                | setStream(InputStream data) 将壁纸设为data所代表的图片
                | WallpaperService 动态壁纸
                        | 1开发一个子类继承WallpaperService基类
                        | 2继承WallpaperService基类时必须重写onCreateEngine()方法,该方法返回WallpaperService.Engine子类对象        
                        | 3 需要实现WallpaperService.Engine子类,并重写其中的public void onVisibilityChanged(boolean visible),public void onOffsetsChanged()方法
                                因为WallpaperService.Engine子类采取了与SurfaceView相同的绘图机制,因此选择性的重写SurfaceHolder.Callback中的3个方法
                                | 为service配置权限
                                        | android:permission="android.permission.BIND_WALLPAPER"(service标签内属性)
                                        | <meta-data android:name="android.service.wallpaper" android:resource="@xml/livewallpaper" />
        | 添加程序快捷方式
                | 创建一个添加快捷方式的Intent,该Intent的Action属性应该为com.android.launcher.action.INSTATLL_SHORTCUT
                | 通过为该Intent添加Extra属性来设置快捷方式的标题,图标以及快捷方式对应启动的程序
                | 调用sendBroadcast()方法发送广播即可添加快捷方式
        | 管理桌面控件
                | 桌面控件是通过Broadcast形式控制的,因此每个桌面控件都对应一个BroadcastReceiver.
                        | AppWidgetProvider BroadcastReceiver子类,开发桌面控件继承该类即可
                                | onUpdate() 负责更新桌面控件的方法
                                        | 重写该方法步骤        
                                        | 1 创建一个RemoteViews对象,创建该对象时可以指定加载界面布局文件
                                        | 2 如需修改上一步布局文件内容可通过RemoteViews对象进行更改
                                                | RemoteViews Android 4.0 新增setRemoteAdapter(int viewid,Intent intent) 使用Intent更新RemoteViews中viewid对应的控件
                                        | 3 创建一个ComponentName对象
                                        | 4 调用AppWidgetMessage更新桌面控件
                                        | AppWidgetProvider本质是一个BroadcastReceiver.
                                                需要在AndroidManifest.xml中使用<receiver.../>元素配置相应的<intent-filter../>.<meta-data.../>
                                                | <intent-filter>
                                                        <action android:name="android.appwidget.action.APPWIDGET_UPDATE">
                                                  </intent-filter>
                                                  <meta-data android:name="android.appwidget.provider" android.resource="@xml/appwidget_provider">
                                | onDeleted() 当一个或多个桌面控件被删除时回调该方法
                                | onEnabled() 当接收到ACTION_APPWIDGET_ENABLED Broadcast时回调该方法
                                | onDisabled() 当接收到ACTION_APPWIDGET_DISABLED Broadcast时回调该方法
        

二.绘图
        | Canvas 代表依附指定View的画布
                |drawBitmapMesh 扭曲图像
        | Paint 用于设置绘制风格,包括画笔颜色,画笔笔触粗细,填充风格等
        | Matrix 控制变换(矩阵工具类)
        | SurfaceView 代替View在游戏中使用
                | SurfaceHolder用于向关联的SurfaceView上绘图(getHolder获取SurfaceView关联的SurfaceHolder)
                        | Canvas lockCanvas() 锁定整个SurfaceView对象 获取该Surface上的Canvas
                        | Canvas lockCanvas(Rect dirty) 锁定SurfaceView上的Rect划分的区域,获取该Surface上的Canvas
                        | unlockCanvasAndPost(canvas) 释放绘图,提交所绘制的图形

                        
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值