android音频开发6,Android 音视频开发(一) : 通过三种方式绘制图片

17053-35659-android-orange-1.jpg?1534210191

想要逐步入门音视频开发,就需要一步步的去学习整理,并积累。本文是音视频开发积累的第一篇。 对应的要学习的内容是:在 Android 平台绘制一张图片,使用至少 3 种不同的 API,ImageView,SurfaceView,自定义 View。

1. ImageView 绘制图片

这个想必做过Android开发的都知道如何去绘制了。很简单:

Bitmap bitmap = BitmapFactory.decodeFile(Environment.getExternalStorageDirectory().getPath() + File.separator + "11.jpg");

imageView.setImageBitmap(bitmap);

很轻松,在界面上看到了我们绘制的图片。

2. SurfaceView 绘制图片

这个比 ImageView 绘制图片稍微复杂一点点:

SurfaceView surfaceView = (SurfaceView) findViewById(R.id.surface);

surfaceView.getHolder().addCallback(new SurfaceHolder.Callback() {

@Override

public void surfaceCreated(SurfaceHolder surfaceHolder) {

if (surfaceHolder == null) {

return;

}

Paint paint = new Paint();

paint.setAntiAlias(true);

paint.setStyle(Paint.Style.STROKE);

Bitmap bitmap = BitmapFactory.decodeFile(Environment.getExternalStorageDirectory().getPath() + File.separator + "11.jpg"); // 获取bitmap

Canvas canvas = surfaceHolder.lockCanvas(); // 先锁定当前surfaceView的画布

canvas.drawBitmap(bitmap, 0, 0, paint); //执行绘制操作

surfaceHolder.unlockCanvasAndPost(canvas); // 解除锁定并显示在界面上

}

@Override

public void surfaceChanged(SurfaceHolder surfaceHolder, int i, int i1, int i2) {

}

@Override

public void surfaceDestroyed(SurfaceHolder surfaceHolder) {

}

});

3. 自定义 View 绘制图片

这个有绘制自定义View经验的可以很轻松的完成,本人也简单整理过 Android 自定义 View 绘制 这一块的知识:

public class CustomView extends View {

Paint paint = new Paint();

Bitmap bitmap;

public CustomView(Context context) {

super(context);

paint.setAntiAlias(true);

paint.setStyle(Paint.Style.STROKE);

bitmap = BitmapFactory.decodeFile(Environment.getExternalStorageDirectory().getPath() + File.separator + "11.jpg"); // 获取bitmap

}

@Override

protected void onDraw(Canvas canvas) {

super.onDraw(canvas);

// 不建议在onDraw做任何分配内存的操作

if (bitmap != null) {

canvas.drawBitmap(bitmap, 0, 0, paint);

}

}

}

注:别忘记了权限,否则是不会展示成功的。

这三种方式都成功了展示出来了,我们可以继续学习并整理后面的知识了—— Android 音视频开发(二):使用 AudioRecord 采集音频PCM并保存到文件

本文转自:博客园 - 灰色飘零,转载此文目的在于传递更多信息,版权归原作者所有。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值