博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android音视频01-通过三种方式在界面上展示一张图片
阅读量:4099 次
发布时间:2019-05-25

本文共 2148 字,大约阅读时间需要 7 分钟。

第一种:ImageView

/* BitmapFactory.decodeFile(Environment.getExternalStorageDirectory().getPath()        + File.separator + "11.jpg"); 获取存储文件中的图片*/        Bitmap bitmap = BitmapFactory.decodeResource(getResources(),R.mipmap.image1);        ImageView imageView = findViewById(R.id.iv);        imageView.setImageBitmap(bitmap);        Log.d("TAG",File.separator);//File.separator == "/"

第二种 SurfaceView

final SurfaceView surfaceView = findViewById(R.id.iv);        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.decodeResource(getResources(),R.mipmap.image1); Canvas canvas = surfaceHolder.lockCanvas();//锁定surfaceView的画布 canvas.drawBitmap(bitmap,0,0,paint);//(0,0)从图片的左上角开始绘制 surfaceHolder.unlockCanvasAndPost(canvas);//解锁显示图片 } @Override//视图被改变 public void surfaceChanged(SurfaceHolder surfaceHolder, int i, int i1, int i2) {
} @Override//视图被摧毁 public void surfaceDestroyed(SurfaceHolder surfaceHolder) {
} });

第三种 自定义View

public class DiyImageView extends View {
Paint paint = new Paint(); Bitmap bitmap; public DiyImageView(Context context) {
super(context); paint.setAntiAlias(true); paint.setStyle(Paint.Style.STROKE); bitmap = BitmapFactory.decodeResource(getResources(),R.mipmap.image1); //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); } }}

参考文章:

转载地址:http://xhrii.baihongyu.com/

你可能感兴趣的文章
事件委托之 ios
查看>>
小程序中 opacity 真机无效
查看>>
获取经纬度之间的距离
查看>>
加入购物车动画,基于jquery的fly.js插件
查看>>
jQuery.range 双滑块范围选择
查看>>
node 创建一个服务
查看>>
react初识
查看>>
markdown表情包
查看>>
react super理解
查看>>
mint-ui弹窗cdn引入如何调用?
查看>>
github+hexo搭建博客基础教程
查看>>
移动端无插件上拉加载
查看>>
webpack基础
查看>>
webpack基础配置(1)
查看>>
webpack图片打包(2)
查看>>
centos7安装docker
查看>>
docker容器操作
查看>>
docker镜像制作
查看>>
激活Golang
查看>>
var _ HelloServiceInterface = (*HelloServiceClient)(nil)的特殊含义
查看>>