Пытаюсь найти информацию о том, как изменить систему координат холста. У меня есть векторные данные, которые я хотел бы нарисовать на холсте, используя такие вещи, как круги и линии, но система координат данных не соответствует системе координат холста.
Есть ли способ сопоставить единицы измерения, которые я использую, с единицами измерения экрана?
Я рисую в ImageView, который не занимает весь экран.
Если перед каждым вызовом рисования мне приходится выполнять свои собственные вычисления, как определить ширину и высоту своего ImageView?
Вызовы getWidth () и getHeight (), которые я пытался, похоже, возвращают весь размер холста, а не размер ImageView, что бесполезно.
Я вижу кое-что из матрицы. Мне это подойдет?
Я попытался использовать «общедоступную шкалу пустот (float sx, float sy)», но она больше похожа на масштабирование на уровне пикселей, чем на функцию векторного масштабирования, увеличивая каждый пиксель. Это означает, что если размеры увеличиваются до размеров экрана, толщина линии также увеличивается.
Обновлять:
После некоторого исследования я начинаю думать, что нет возможности изменить систему координат на что-то другое. Мне нужно сопоставить все мои координаты с координатами пикселей экрана и сделать это, изменив каждый вектор. Мне кажется, что getWidth () и getHeight () теперь лучше работают. Я могу сказать, что было не так, но подозреваю, что не могу использовать эти методы внутри конструктора.