Рисование «чертежей» на холсте в единицах dp

Я пытаюсь понять, есть ли способ рисовать растровые изображения на холсте в единицах dp вместо пикселей. Например: следующий код масштабирует размер изображения до 100 * 100 пикселей. Как я могу вместо этого изменить его на 100 * 100 dp?

int lengthPos = 10;
int heightPos = 10
mImage.setBounds(lengthPos, heightPos, (lengthPos + 100), (heightPos + 100));
mImage.draw(c);

Кроме того, я не уверен, какие единицы измерения для щелчков по экрану, но они не соответствуют пикселям на экране, что затрудняет определение того, когда выбран объект для рисования (вы должны догадаться, где щелчком для выбора вытягиваемого объекта. Могу ли я также масштабировать координаты щелчка до dp? не кажется, что это было бы слишком сложно, тем более что координаты щелчков экрана хранятся в локальной переменной для обработки в моем приложении.

, Мне нужно согласовать масштабирование, чтобы при щелчке по координатам 250, 250 выбирались пиксели, нарисованные с координатами 250, 250 при разной плотности экрана.

5
задан alain.janinm 6 May 2012 в 12:00
поделиться