多媒体编程

来源:互联网 发布:淘宝dnf稀有装扮兑换券 编辑:程序博客网 时间:2024/05/16 15:57

多媒体编程

  • 文本、图片、音频、视频

图片

  • 图片在计算机中的大小
    • 图片的大小 = 图片的总像素 * 每个像素的大小
      • 单色位图:只能表示两种颜色,使用两个数字0和1,使用一个长度为1的二进制就可以表示,单位像素占用1/8字节。
      • 16色位图:能表示16种颜色,需要0000-1111表示,单位像素占用1/2个字节。
      • 256色位图:能表示256颜色,需要00000000-111111111,单位像素占用1个字节。
      • 24位位图:每个像素占24位,即单个像素占3个字节。
        • R:0-255,需要一个字节。
        • G:0-255,需要一个字节。
        • B:0-255,需要一个字节。

加载大图片

  • 计算机把图片所有像素信息都解析出来保存至内存。
  • Android保存图片像素信息,使用ARGB保存的。即单个像素占用4个字节。
  • 若手机屏幕320*480,总像素为153600,图片为宽高2400*3200,总像素为76800000。2400/320=7;3200/480=6;使用大的那个数值进行缩放。

创建图片副本

    //这个对象是只读的    Bitmap bmSrc=BitmapFactory.decodeFile("sdcard/dog.jpg");    //创建图片副本    //1.创建白纸    Bitmap bmCopy=Bitmap.createBitmap(bmSrc.getWidth(), bmSrc.getHeight(), bmSrc.getConfig());    //2.创建画笔对象    Paint paint =new Paint();    //3.创建画板    Canvas canvas =new Canvas(bmCopy);    //4.作画    canvas.drawBitmap(bmSrc, new Matrix(), paint);    ImageView iv=(ImageView) findViewById(R.id.iv1);    iv.setImageBitmap(bmSrc);    iv.setImageBitmap(bmCopy);

保存图片

  • SD每次准备的时候总是遍历sd卡的文件,然后将对媒体文件放在MediaStore数据库中生成一个索引,数据库中保存了文件的文件名、路径、大小、长度和艺术家。
  • 图库、音乐、视频程序每次启动时,不会遍历寻找多媒体文件,而是直接从MediaStore数据库中读取多媒体文件,通过库中的索引找到对应的多媒体文件后,将文件显示在界面中。

SurfaceView

双缓冲技术:要求刷新机制比较高的。
重量级组件
安装设计理念:只要不可见,就不会创建,并且销毁。

0 0
原创粉丝点击