Android 音视频三种方式绘制图片

Android 音视频开发之基础篇 自定义view绘制图片 Android 音视频开发 上一篇文章:[SurfaceView绘制图片](https://blog.youkuaiyun.com/qq_34770510/article/details/123354585?spm=1001.2014.3001.5502) 思维导图: 文章目录Android 音视频开发自定义view绘制图片一、[如何通过自定义view绘制](https://www.jianshu.com/p/705a6cb6bfee)?二、实现过程1.配置图片和view控件2.编写code3. 效果显示:总结 阅读详情

在 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);  
        }  
    }  
}

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

<uses-permission android:name="android.permission.READ\_EXTERNAL\_STORAGE"/>

更多Android 音视频学习资料扫描下方二维码免费领取!

企业级Android音视频开发学习路线+项目实战(附源码)

随着5G时代的到来,短视频逐步占据了人们的日常生活。现在大量公司开始重视音视频人才,音视频工程师薪资要比一般开发者高30%左右。

目前音视频从业者基本上有两个方向:一种是音视频算法,需要有深的数学能力和算法背景,这类人才几乎被大厂垄断,年薪平均在百万以上;另一种则是音视频业务开发,这类人相对较多,他们有扎实的理论基础,深厚的技术功底,对音频、视频都非常熟悉。

由于文章内容比较多,篇幅有限,资料已经被整理成了PDF文档,有需要《音视频开发完整路线资料》完整文档的可以加微信即可免费领取!(承诺:100%免费)

24节课五个项目实战,分别是:Android音视频编解码项目实战、泛娱乐直播系统分析与推流实战、、斗鱼直播项目实战、OpenGL ES手写美颜相机APP项目实战、交叉编译与CameraX项目实战。

img

第六篇Android--ImageView、Bitmap Android ImageView加载Bitmap 阅读详情

相关推荐

adams案例分析_案例1(麦弗逊悬架子系统创建)

本文字数3292字83图,建议阅读时间26分钟首先看下案例1的麦弗逊悬架数模结构就不细讲了,从数模上主要是获取硬点坐标(铰接点、安装点、参考点)及大部件结构(副车架、摆臂、转向节等实际运动过程中会产生变形的部件,在ADAMS Car中我们就可以用柔性体来搭建)再来回顾下上一篇讲到的模型元素1、Hardpoint——硬点(只有位置没有方向)2、Parameter Variable——参数...

weixin_39609407的博客 6478

Android 音视频开发之基础篇 使用 imageview绘制一张图片

Android 音视频开发 任务一 ImageView 绘制图片 文章目录Android 音视频开发 任务一 ImageView 绘制图片前言一、配置activity_main.xml二、添加mipmap三、编写code四·、效果展示总结 前言 提示:使用imageview绘制图片 随着抖音、直播等音视频技术的火爆发展,音视频开发展需求加大,但是熟悉音视频开发的程序员似乎并不多,博主也是刚刚因为工作任务调整,转向音视频方向,以此记录和分享。 提示:以下是本篇文章正文内容,下面案例可供参考 一、配置a

每日三省吾身,按时吃饭否 按时睡觉否 按时喝水否 5460

【Simscape】用Simscape实现三维物理仿真(三)——创建一个滑块单摆系统

1 首先创建一个Simscape Multibody 模型 (方法见 【Simscape】用Simscape实现三维物理仿真(一)——创建一个自由落体小球) 2 创建四个Solid模块 (1)摆杆 Shape : Brick Dimensions : [0.1 0.05 1] m (2)摆杆轴 Shape : Cylinder Radius : 0.02 m Le...

ReadAir的专栏 9037

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

声明:本教程不收取任何费用,欢迎转载,尊重作者劳动成果,不得用于商业用途,侵权必究!!! 任务目标:1、在 Android 平台绘制一张图片,使用至少 3 种不同的 API:ImageView,SurfaceView,自定义 View 一、ImageView 绘制图片 1、主要代码 Bitmap bitmap = BitmapFactory.decodeFile(Environment....

鲁迷那的专栏—坚持实践后再写出来! 481

[Stanford CS217]CUDA中矩阵乘法GEMM优化的最关键点:向量内积和向量外积分别取行和取列

对于矩阵C中的每一个tile,矩阵A与矩阵B中的tile只需要读取一次,这样就可以达到 O(N) 的计算强度。理想情况下性能应当受限于算术吞吐量,确切来说对于一个大型方阵,即 M=N=K ,矩阵乘法的数学操作复杂度为 O(N3) ,而数据量为 O(N2) ,同时计算强度为 N (这里的计算强度可以被理解为同一个数据被重复利用的次数)。GEMM就是指计算 C=A∗B+C ,其中 A 、B和C都是矩阵,A是 M×K 的矩阵,B是 K×N 的矩阵, C是 M×N 的矩阵。这就是向量内积和向量外积的最大区别。

weixin_55035144的博客 1428

Trae CN 使用入门指南

【代码】Trae CN 使用入门指南。

weixin_42551921的博客 8771

Android中SurfaceView和TextureView的区别,以及各自的使用方法

SurfaceView通过创建一个叫做Surface的窗口来实现图像的显示,这个Surface可以在一个新的线程中进行绘制操作,从而避免了主线程被占用而导致的UI卡顿。以上代码示例分别使用了SurfaceView和TextureView来显示一张图片,通过重写相应的回调方法,在Surface创建或者SurfaceTexture可用时进行绘制操作。SurfaceView的使用相对复杂,需要手动管理Surface的生命周期,需要适时地锁定和解锁Canvas对象,并处理Surface创建、改变和销毁等事件。

m0_46368082的博客 7889

拉普拉斯矩阵

1、预备知识 拉普拉斯矩阵定义为:L=D-W。其中,D为度矩阵,W为权重矩阵。 (1)D是对角矩阵,对角线上的元素时节点的度,即所有与该节点相关联的边的权重之和;对角线以外的元素为0。有向图的对角矩阵分为 出度矩阵 和 入度矩阵。 图1.1 无向图中的度矩阵 (2)W在无向图中是对称矩阵,在有向图中是非对称矩阵。 ...

zzhe 1万+

Android-音视频(1):3种方式绘制图片

1.ImageView 这个应该很简单,直接看代码。 Bitmap bitmap = BitmapFactory.decodeFile(Environment.getExternalStorageDirectory().getPath() + File.separator + "test.jpg"); imageView.setImageBitmap(bitmap);   2.Surfa...

八步赶蝉 600

ADS重新安装失败排查指南:从注册表清理到环境变量配置

本文详细解析了ADS重新安装失败的常见原因及解决方案,包括注册表残留清理、license路径锁定处理和环境变量配置。通过分步指南和实用技巧,帮助工程师高效解决安装问题,确保软件正常运行。

weixin_42524708的博客 457

用于多种无人机协作的群体智能算法:综合综述

随着无人机技术的快速高水平发展,将多架无人机作为自主控制的编队应用于复杂情况是一个新兴领域的代表之一。在实现自主控制的挑战中,碰撞避免、任务分配、路径规划和编队重构是关键功能。本文对各种经典的无人机群智能算法进行了系统的总结和分析。

erjia_的博客 1万+

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

想要逐步入门音视频开发,就需要一步步的去学习整理,并积累。本文是音视频开发积累的第一篇。 对应的要学习的内容是:在 Android 平台绘制一张图片,使用至少 3 种不同的 API,ImageView,SurfaceView,自定义 View。1. ImageView 绘制图片这个想必做过Android开发的都知道如何去绘制了。很简单:Bitmap bitmap = BitmapFactory.d...

weixin_42134878的博客 227

Matlab结果性能评价---rms函数(计算矩阵、数组和向量元素均方根)

实例1:创建一个向量(正弦波)并计算其均方根值 实例2:创建一个二维矩阵并计算其均方根值 实例3:计算二维矩阵沿指定维度的均方根值 本例程配套完整源码下载 均方根(Root-Mean-Square Level): 向量x的均方根值为沿着指定的维度执行求和: 语法描述: y = rms(x)返回输入x的均方根值。如果x是行或列向量,y是实数值标量。对于大小尺寸大于1矩阵x,y包含沿x的第一个数组维度计算的均方根值。例如,如果x是N > 1的N*M矩阵,那么y是1*M行向量,对应x矩..

qq_32809093的博客 3万+

Android音视频开发基础(一) : 通过三种方式(ImageView,SurfaceView,自定义View)绘制图片

前言 在Android音视频开发中,网上知识点过于零碎,自学起来难度非常大,不过华科七牛直播sdkAndroid开发组长Jhuster提出了《Android 音视频从入门到提高 - 任务列表》。本文是Android音视频任务列表的第一篇, 对应的要学习的内容是:在 Android 平台绘制一张图片,使用至少 3 种不同的 API,ImageView,SurfaceView,自定义 View。 插入链接与图片 链接: link. 图片: 带尺寸的图片: 居中的图片: 居中并且带尺寸的图片: 当然,我们

分享计算机基础,android,C/C++,音视频等内容 2894

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Android音视频学习(1): 通过三种方式绘制图片

主要的参考文章出处:http://www.cnblogs.com/renhui/p/7456956.html 今天对应的要学习的内容是:在 Android 平台绘制一张图片,使用至少 3 种不同的 API,ImageView,SurfaceView,自定义 View。 1.ImageView 绘制图片 Bitmap bitmap = BitmapFactory.decodeFile(En...

qq_28334473的博客 285

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

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

转自:http://www.cnblogs.com/renhui/p/7456956.html   在 Android 音视频开发学习思路 里面,我们写到了,想要逐步入门音视频开发,就需要一步步的去学习整理,并积累。本文是音视频开发积累的第一篇。 对应的要学习的内容是:在 Android 平台绘制一张图片,使用至少 3 种不同的 API,ImageView,Surfa...

longfei1986的专栏 407

安卓音视频开发(1)—— 三种方式绘制图片

三种方式绘制图片,ImageView、SurfaceView、自定义View

m0_57372054的博客 453

android采集音视频打包ps,Android 音视频学习—通过三种方式绘制图片 一、

根据列表内容,我们第一个将要学习的是如何通过三种方式绘制图片,废话不说拿起你们的键盘,我们现在就开始新的学习。首先我们先列举出我们本篇文章将通过以下三种方式将图片绘制的到界面中1.通过ImageView绘制图片2.通过自定义View绘制图片3.通过SurfaceView绘制图片1.ImageView绘制图片话不多说我们现在先来实现第一种方式。我们先创建一个工程来实现我们今天要编写的Demo。ps....

weixin_30151653的博客 152

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

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

m0_60259116的博客 738

音视频开发系列(26)三种方式绘制图片-android开发

在android开发中我们最常使用的绘制图片的方式就是ImageView,设置src。那么有没有其他方案可以实现图片的绘制呐? 三种方案 通过Imageview设置setImageBitmap final String path = Environment.getExternalStorageDirectory().getPath() + File.separator + "Pictures" + File.separator + "tmp.jpg"; Bitmap bit

yinshipin007的博客 187

android开发 imageview圆角_音视频开发之旅(一)三种方式绘制图片

在android开发中我们最常使用的绘制图片的方式就是ImageView,设置src。那么有没有其他方案可以实现图片的绘制呐?三种方案通过Imageview设置setImageBitmap final String path = Environment.getExternalStorageDirectory().getPath() + File.separator + "Pictures...

weixin_39681058的博客 110

Android 音视频开发序列1

Android 音视频开发序列1---通过三种方式绘制图片

ListQ的博客 127
上一篇: 这样的面试你还去吗
下一篇: Android音视频不愁字节跳动、腾讯、阿里进不去
不秃头de程序猿
博客等级 码龄5年 4089粉丝 1478原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值