通常,我们要在画布上放置图片,一般是先把图片转化为Bitmap格式,即调用:
Bitmap mBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.XXX);
然后调用函数:
canvas.drawBitmap(Bitmap bitmap, float left, float top, Paint paint) ;
从上面函数的定义我们可以知道,要将一张图片画在画布上,需要传入Bitmap,坐标X,Y,和一个画笔Paint;但是我们传入的坐标是以图片的左上坐标,即对于一个矩形图片,那么这个点就是图片的左上角。所以我们要将这个点定义在图片的中心需要做如下的改动:
canvas.drawBitmap(mBitmap, x - mBitmap.getWidth()/2, y - mBitmap.getHeight()/2, mPaint);
简单来说就是获取图片的宽度与高度,x坐标减去宽度的一半与y坐标再减去高度的一般,这样坐标就变到了中心位子,而我们设置的图片坐标就是以中心来设置的!