关于canvas.drawbitmap的信息

http://www.itjxue.com  2023-01-04 15:41  来源:未知  点击次数: 

android中Canvas类中drawBitmap (Bitmap bitmap, Rect src, Rect dst, Paint paint) 详解。

Rect src = new Rect();// 图片

Rect dst = new Rect();// 屏幕

src.left = bx;

src.top = by;

src.right = bx + w;

src.bottom = by + h;

dst.left = x;

dst.top = y;

dst.right = x + w;

dst.bottom = y + h;

canvas.drawBitmap(blt, src, dst, null);

应该能看懂吧

Canvas.drawBitmap 画出来的图怎么实现点击效果??

就是让它能够点击····就是我画了好多个图标····然后可以通过点击它然后做移动或什么的

Android 怎么使用Bitmap+Canvas 自适应屏幕

我们可以使用Matrix 来放缩我们得到的Bitmap 从而使我们的BItmap适应我们的手机屏幕

首先我们得先获取我们的手机屏幕的大小

WindowManager?wm?=?(WindowManager)?getContext().getSystemService(

????????????????????Context.WINDOW_SERVICE);

int?width?=?wm.getDefaultDisplay().getWidth();

int?height?=?wm.getDefaultDisplay().getHeight();

然后我们构造一个新的Matrix对象,自己完成写一个函数,如下:

public?Bitmap?resizeBitmap(Bitmap?bitmap,int?w,int?h)

????????{

????????????if(bitmap!=null)

????????????{

????????????????int?width?=?bitmap.getWidth();

????????????????int?height?=?bitmap.getHeight();

????????????????int?newWidth?=?w;

????????????????int?newHeight?=?h;

????????????????float?scaleWight?=?((float)newWidth)/width;

????????????????float?scaleHeight?=?((float)newHeight)/height;

????????????????Matrix?matrix?=?new?Matrix();

????????????????matrix.postScale(scaleWight,?scaleHeight);

????????????????Bitmap?res?=?Bitmap.createBitmap(bitmap,?0,0,width,?height,?matrix,?true);

????????????????return?res;

?????????????????

????????????}

????????????else{

????????????????return?null;

????????????}

????????}

这样我们通过这个函数返回的Bitmap对象就是可以适应我们手机屏幕大小的了。。

(责任编辑:IT教学网)

更多

推荐java认证文章