请帮忙看看为什么canvas.drawBitmap没能显示出图片

显示图片的代码如下

     public DrawBitmapView(Context context,int width,int height,Bitmap bitmap) {
        super(context);
        initPaint();
        mBitWidth = width;
        mBitHeight = height;
        mBitmap = bitmap;
        mSrcRect = new Rect(0,0,mBitWidth,mBitHeight);
        mDestRect = new Rect(0,0,mBitWidth,mBitHeight);
        Log.e("TAG", "宽"+mBitWidth+"高"+mBitHeight+"mSrcRect"+mSrcRect+"mDestRect"+mDestRect);
        Canvas canvas = new Canvas();
        canvas.drawBitmap(mBitmap,mSrcRect,mDestRect,mBitPaint);
        Log.d("TAG","图片已打印");
        setWillNotDraw(false);
        invalidate();
    }

这是log显示的结果

 05-04 22:04:06.443 15938-15938/com.example.xxx.board_meeting E/TAG: 宽291高295mSrcRectRect(0, 0 - 291, 295)mDestRectRect(0, 0 - 291, 295)
05-04 22:06:41.537 15938-15938/com.example.xxx.board_meeting E/TAG: 图片已打印

选择图片后的 各个值的显示图片说明图片说明

最后想问一下,有没有安卓开发的交流群。。我最近在开发过程中遇到了很多问题,希望能有个地方请教一下大家orz

2个回答

Canvas canvas = new Canvas();
canvas是不可以自己new的你,canvas 必须绑定到对应的View。单纯的canvas好比一张贴画,你必须贴到墙上才能看到,在哪个View里面画图就需要使用该View的canvas.每个View都会有一个onDraw(Canvas canvas)方法,你可以在onDraw方法内加入你的以上代码;
例如 你写的这个DrawBitmapView 类:
@Override

protected void onDraw(Canvas canvas) {

super.onDraw(canvas);

……
canvas.drawBitmap();
……
}

mBitmap = bitmap; 这个获取了么?

图片的路径(或者资源名)是否正确

参考 https://blog.csdn.net/tianjian4592/article/details/45031663

qq_42138526
qq_42138526 5555
一年多之前 回复
sinat_32247289
ogiso雪菜 bitmap:“”是没获取到的意思吗? 但是我看下面的Debug里的View Bitmap能看到图片。这样不行吗
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!

相似问题

1
canvas库fabric.js如何设置背景自适应
3
做小程序分享朋友圈 开发者工具canvas图片好使 但是用手机调试canvas图片是空的 是什么原因
3
控制多边形在canvas大小范围内移动
1
jcanvas如何控制不规则多边形在canvas大小范围内移动
0
华为android 8.0 cavas drawLine问题
2
canvas循环插入多张图片,部分图片显示不出来?
2
安卓 canvas.drawText的Y轴坐标如何理解
0
Fresco加载网络图片部分设备出现显示部分图片为黑色并崩溃
0
html2canvas 插件和WdatePicker插件发生冲突!!!
0
html2canvas 获取不到节点的内容
2
在做验证码自动填写插件遇到了一些问题,在支付宝页面用canvas转换验证码图片到Base64报错
4
将html转成图片 手机端 下载base64 的图片下载失败?pc端正常什么原因?求解?
2
save()和restore()成对的,仍然报Underflow in restore - more restores than saves
1
【求助帖】Revit二次开发 族载入到项目文档里报错:该文档当前处于只读状态.LoadFamily可能无法执行。
1
Python_tkinter关于主窗口和弹窗的控件的显示
1
[Android]如何在canvas上随机drawBitmap,并且每个bitmap都不会被重叠?
0
canvas保存为300DPI的图片
1
运用html2canvas 生成图片 然后 生成PDF chrome页面中图片在PDF中无法显示
3
Android中使用canvas如何画出以下图形?
2
使用html2canvas截图生成的Base64 参数,传递到后台,解析之后下载的图片和截图的图片不一致问题