如何在给定位置设置位图图像中心

时间:2015-01-13 19:31:14

标签: android canvas bitmap

当我将位图图像设置为带有x和y坐标的画布时。将位图左侧的位置设置为该位置。如何在该坐标中居中位图。我想将图像的中心点设置为该协调。我在那里在android中做任何方法?

这是我在画布中绘制位图的方法

canvas.drawBitmap(bmp, point_x.get(i), point_y.get(i), null);

1 个答案:

答案 0 :(得分:0)

使用BitmapFactory.Options获取位图的尺寸:

BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;
BitmapFactory.decodeResource(getResources(), R.id.bmp, options);
int height = options.outHeight;
int width = options.outWidth;

我在这里使用了来自资源的位图作为示例。你可以在这里找到其他的可能性: http://developer.android.com/reference/android/graphics/BitmapFactory.html

然后使用这些尺寸计算左上角的位置:
在加载位图之前,还要将JustDecodeBounds设置为false。

options.inJustDecodeBounds = false;
canvas.drawBitmap(BitmapFactory.decodeResource(getResources(), R.id.bmp, options), point_x.get(i) - width/2, point_y.get(i) - height/2, null);