day36多媒体

01_图形图像的介绍

在计算机中, 图像是采用位图形式来表示的图形是采用矢量图方式来表示的;

位图图像的缺陷

  • 位图放大和缩小都会引起像素的增加和减小,这样会使得原由的图象的线条和形状变的参差不齐,与原图像相比出现失真;出现"锯齿形"

    矢量图形

    矢量图形是通过计算机将一串线条和图形转换为一系列指令,在计算机中只存储这些指令,而不是像素.矢量图形看起来没有位图图像真实,但矢量图形的存储空间比位图图像要小得多,而且矢量图形通过拉伸、移动、放大等操作,图形不会产生实真。 

     

     

    02_图片的加载&大图和小图

    03_图片的缩放操作

    04_图片的旋转和位移

    sysinternals screen magnifier

     

    05_镜面效果

    06_倒影效果

    matrix.setscale(1f,-1f,srcbitmap.getWidth()/2, srcbitmap.getHeight()/2);

     

    07_颜色的处理

    Paint paint = new Paint();

     

            // 设置画笔的颜色过滤

            // vector:0-2 0:没有 2:最多

            float[] cm = new float[] { 1 * redPercent, 0, 0, 0, 0, // red vector

                    0, 1 * greenPercent, 0, 0, 0, // green vector

                    0, 0, 1 * bluePercent, 0, 0, // blue vector

                    0, 0, 0, 1, 0 // alpha vector

            };

            paint.setColorFilter(new ColorMatrixColorFilter(new ColorMatrix(cm)));

     

    08_canvas的Api相关

    09_画画板的图片显示(接口控制)

     

     

    点击:OnClickListener

    SeekBar:OnSeekBarChangeListener

    触摸:OnTouchListener

     

     

    10_getX和getRawX的区别

    getX 相对于控件

    getRawX相对于屏幕

    11_画画板颜色和粗细的设置

    设置paint 的粗细即可,通过switch方法判断点击的是哪个颜色

     

    12_图片的保存和广播扫描

    直接存储

    广播更新

     

    13_撕衣服的布局的实现

    相对布局中有两张imageview相互叠加

     

     

    14_撕衣服的实现

    设置一个copybitmap ,根据点击设置一些像素点为透明

     

    privatevoid clearColor(int x,int y){

            

            for (int i = -30; i < 30; i++) {

                for (int j = -30; j < 30; j++) {

                    try {

                        if (x+i>bitmap.getWidth()|| x+i<0) {

                            continue;

                        }

                        if (y+j>bitmap.getHeight()||y+j<0){

                            continue;

                        }

                        if (i * i + j * j <= 900) {

                            copyBitmap.setPixel(x + i, y + j, Color.TRANSPARENT);// 单个像素点

                        }

                    } catch (Exception e) {

                        e.printStackTrace();

                    }

                    

                }

            }

            

            ivPre.setImageBitmap(copyBitmap);

        }

     

    15_音乐播放器-同步(MediaPlayer)

    注意解决用户体验

     

    16_音乐播放器-异步

    progressBar系列可以在子线程更新UI

     

    17_声音池

    SoundPool

     

    pool = new SoundPool(maxStreams, streamType, srcQuality);

    soundID = pool.load(this, R.raw.shoot, 1);

     

        pool.play(soundID, leftVolume, rightVolume, priority, loop, rate);

     

    18_视频播放器

     

    VideoView

    19_sufaceView的介绍

    sv.getHolder().addCallback(new Callback() {

    监听surfaceview的生命周期

    20_surface的播放器

     

    21.拍照avi

     

    通过意图打开系统相机

    22_录制

    23_指南针和光传感

    manager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);

     

            sensor = manager.getDefaultSensor(Sensor.TYPE_ORIENTATION);

    获取传感器管理器

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值