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