显示图片的代码如下
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
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