在Android画布上绘制点

时间:2013-02-07 10:24:29

标签: android android-canvas android-view

我正在开发提供跟踪信函功能的安卓游戏应用程序。这是我第一次使用Android图形。我正在使用Canvas为我的应用程序。我想在画布上显示虚线字母,允许用户跟踪字母在屏幕上。为此我创建了虚线字母的图像并在背景中设置这些图像。

现在我想在特定的(x,y)坐标上绘制这些虚线字母图像上的点。但问题是android画布取决于不同的屏幕尺寸。因此,我将不得不根据屏幕尺寸缩放这些点(x,y)坐标。我还提到了this链接,但无法理解。

请帮我解决这个问题。 感谢。

1 个答案:

答案 0 :(得分:0)

首先找到屏幕的高度和宽度。

int width = game.getWindowManager().getDefaultDisplay().getWidth();
int height = game.getWindowManager().getDefaultDisplay().getHeight();

缩放背景以覆盖屏幕

Bitmap background_scaled=Bitmap.createScaledBitmap(background, width, height, true);

转换(x,y) - > (x_scaled,y_scaled)

int x_scaled=x*((float)width/(float)background.getWidth());
int y_scaled=y*((float)width/(float)background_getHeight());

画点

canvas.drawPoint(x_scaled,y_scaled,new Paint());