Нанесение точек на холст Android

Я разрабатываю приложение для игры для Android, которое обеспечивает функциональность отслеживания букв. Это первый раз, когда я работаю с графикой Android. Здесь я использую Canvas для своего приложения. Я хочу отображать точечные буквы на холсте, что позволяет пользователю отслеживать буквы на экране. Для этого я создал изображения букв с точками и установил эти изображения в фоновом режиме.

Теперь я хочу построить точки на этом изображении с точками в определенной координате (x, y). Но проблема в том, что холст Android зависит от размера экрана. Поэтому мне придется масштабировать эти координаты точки (x, y) в соответствии с размером экрана. на разных устройствах">эту ссылку, но не смог понять.

Пожалуйста, помогите мне решить эту проблему. Спасибо.


person Zankhna    schedule 07.02.2013    source источник
comment
Мне также нужна функция отслеживания писем, вы можете мне помочь?   -  person Vikash Parajuli    schedule 24.11.2016


Ответы (1)


Сначала найдите высоту и ширину экрана.

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());
person manpreet singh    schedule 07.02.2013