Как указать значения координат в методе Canvas.drawLine() в пикселях?
Ситуация вот какая. У меня есть устройство, ширина экрана которого 540 пикселей (так выдает DisplayMetrics.widthPixels). Пытаюсь нарисовать линию длинной 250. И она рисуется приблизительно на 1/5 экрана, хотя должна на половину. Получается, что координаты линии задаются не в пикселях экрана, а в каких-то совсем других. Собственно, вопрос в каких?
Просто, мне нужно нарисовать линию определенной длины в пикселях, и опытным путем(выше) я определил, что при вызове Canvas.drawLine(X, Y, X2, Y2) мы передаем туда значения не в пикселях. А мне нужно в пикселях.
Спасибо за ответ! Объект в котором я рисую - это Canvas. Его ширина совпадает с DisplayMetrics, 540. При этом линия в 1000 пикселей занимает немного меньше ширины экрана. Что я не понимаю? Мне очень надо узнать размер экрана в пикселях, чтобы узнать какую часть большущей картинки он занимает.
Кстати говоря, у меня есть картинка размером 4000 пикселей. Эксперимантально у меня получилось, что экран занимает примерно 8 часть картинки, что в принципе подтверждается расчетами. Если рисовать линию на 1000 пикселей то она меньше чем экран,, значит примерно в 14 раз меньше картинка. Но ведь она должна быть только в 4 раза меньше. Что за ерунда?
Брать размеры Canvas не самая лучшая идея, так как они могут отличатся от размеров того что есть на экране (Hardware Layer / Software Layer), кажется на Google IO 2013 было видео от Chet Haase и Romain Guy об этом. one pavel говорил о View в котором вы ресуете - View.getWidth() и View.getHeight().
Обновите вопрос с кодом, скорее всего проблема в нем.