zoukankan      html  css  js  c++  java
  • 图像应用基本知识

    图片格式:

    BMP:作为一种与硬件设备无关的图像文件格式,得到广泛的应用,没有采用任何压缩算法,当然也没有任何失真。BMP根据图像深度不同,有 1bit、4bit、8bit、24bit等不同的位深,在存储数据时,图像的扫描方式按从左到右,从上到下的顺序进行。总结:不压缩,文件大,不同颜色的图片尺寸一样,大小一样;(像箱子,不管里面装什么都一样大)

    PNG: 总结:无损压缩,不同颜色的图片尺寸一样,大小不一样;(像塑料袋,袋子里装的东西少体积就会减少)

    JPG:(Joint Photographic Experts Group)作为一种目前被广泛采用的图像格式,采用了有损压缩算法,通过去除冗余信息,可以在获得极高压缩率的同时展现出丰富生动的图像。总结:有损压缩,不同颜色的图片尺寸一样,大小不一样;(像网眼袋,不仅装进的东西少体积会减少,而且里面的小东西还会漏走)

    图片所含信息量越多,体积越大,能压缩的空间就越小

    ColorMatrix:

    通过颜色矩阵 ColorMatrix 修改了原图像的 RGBA 值,从而达到了改变图片颜色效果的目的。

    PorterDuff:

    PorterDuff(图像混合概念由Tomas Porter和Tom Duff提出)

    BitmapFactory:

    BitmapFactory类对开发者从文件、流、字节组、资源文件中解码图像提供了支持,常用的方法包括:

    decodeByteArray(byte[] data, int offset, int length)   //从字节码中解码

    decodeFile(String pathName)    //从文件中解码

    decodeStream(InputStream is)   //从输入流中解码

    decodeResource(Resource res, int id)  // 从资源文件中解码

    动画的处理:

    Android可以为Activity、对话框、输入法、子菜单、墙纸等设置动画效果,相关的配置文件实现位于frameworks/base/core/res/res/anim中。

    Android动画有两种实现方式:

    补间动画(Tween Animation)通过对场景中的对象不断的做图像变换(透明度、平移、缩放、旋转)产生动画效果。提供了AlphaAnimation、TranslateAnimation、ScaleAnimation、RotateAnimation四个类支持。Android的控件动画效果均是基于补间动画实现的。最常用的控件动画是基于ViewAnimation类进行的,其子类包含ViewFlipper、ViewSwitcher、ImageSwitcher、TextSwitcher等。动画的进度通过插补器(interpolator)控制。

    帧动画(Frame Animation):按顺序播放一组图像。帧动画有两个比较重要的属性需要注意,一个是android:oneshot属性,用户设置播放模式,是单次播放还是循环播放;一个是android:duration属性,用于设置每帧的持续时间,单位为毫秒。帧动画的资源文件位于res/anim文件夹下。android利用XML资源文件和AnimationDrawable来协同工作。注意:AnimationDrawable的start()方法不能再Activity的onCreate方法中调用,这是因为此时图像资源还没有完全加载。如果希望在Activity启动后立即开始动画,可以在Activity的onWindowFocusChanged()方法中执行start()方法。帧动画是应用层中最常用的动画效果。

    属性动画(Property Animation):在Android3.0中引入,为开发者提供了更强的自定义动画的能力,在游戏开发中较常见。在Android中,目前定义了三种类型的演进器:ArgbEvaluator、FloatEvaluator、IntEvaluator。如果用于动画的属性不是color、float、int类型的,开发者可以扩展TypeEvaluator接口来计算目标对象的属性变化。

  • 相关阅读:
    RHadoop计算平台搭建
    基于Eclipse的scala应用开发
    2018-2019-1 20189219《Linux内核原理与分析》第六周作业
    2018-2019-1 20189219《Linux内核原理与分析》第五周作业
    2018-2019-1 20189219《Linux内核原理与分析》第四周作业
    myod实现
    2018-2019-1 20189219《Linux内核原理与分析》第三周作业
    2018-2019-1 20189219《Linux内核原理与分析》第二周作业
    学习实验楼《Linux入门基础》心得总结 &《Linux内核与分析》第一次作业
    memset函数浅析
  • 原文地址:https://www.cnblogs.com/nicoleTeng/p/7411350.html
Copyright © 2011-2022 走看看