Я получаю массив координат (double
координаты с -infinity < x < +infinity
и 0 <= y <= 10
) и хочу нарисовать ломаную линию, используя эти точки.Я хочу, чтобы график всегда начинался с левой границы моего изображения и заканчивался справа.Нижняя граница моего изображения всегда представляет значение 0 y
, а верхняя граница - всегда значение 10 y
.Ширина и высота создаваемого изображения определяются пользователем во время выполнения.
Я хочу реализовать это с помощью Qt, и QImage
в сочетании с QPainter
кажутся моим основным оружием выбора,Проблема, которую я сейчас пытаюсь решить:
Как преобразовать мои координаты в пиксели на моем изображении?
Значения y
кажутся довольно простымиТак как я заранее знаю минимум и максимум графика, но я борюсь с x
-значениями.Пока что мой подход заключается в том, чтобы найти минимальное и максимальное значение x
и масштабировать каждую точку соответственно.
Есть ли более нативный подход?
Так какодин набор координат служит для нескольких изображений с различной шириной и высотой, я подумал, может ли векторная графика быть более подходящим, но я пока не смог найти материал по созданию svg-файлов в Qt, просто работая с существующимифайлы.Я бы искал что-то сравнимое с метафайлами Windows.
Есть ли близкое совпадение с метафайлами в Qt?