Рисование изогнутых линий через PDFBoxJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Рисование изогнутых линий через PDFBox

Сообщение Anonymous »

Используя PDFBox, я создал линейную диаграмму для отображения некоторых данных, и она очень похожа на любую общую линейную диаграмму, которую вы увидите при поиске в Google. Он также выглядит идентично линейному графику, который я приложил к этому вопросу. Алгоритм рисования линейной диаграммы работает следующим образом: он просматривает текущую точку, а затем следующую, и рисуется линия, если там найдена допустимая точка.
Моя проблема в том, что что клиенту не нравится, как резко линии соединяются друг с другом. Вместо этого они хотят, чтобы соединения между линиями происходили более изогнуто. Прикреплено изображение примерного представления о том, чего хочет клиент. Обратите внимание: хотя линии выглядят очень изогнутыми, клиент особенно заботится о том, чтобы линии соединялись изогнутыми, а не резкими, как на стандартном линейном графике.
До сих пор я пробовал использовать Безье. кривые, но я не могу найти правильные значения, чтобы правильно масштабировать их для всех различных величин между точками. Сначала я попробовал изменить стили окончания и соединения строк, но это не дало желаемой «извилистости» между соединениями строк. Я также подумывал об использовании путей для достижения этого результата, но мне не удалось понять, как действовать дальше.
Есть ли что-то, чего мне не хватает, что могло бы облегчить рисование? эти строки? Если нет, может ли кто-нибудь помочь мне определить правильные значения/пути Безье для достижения этих кривых? Заранее благодарим за любые предложения/примеры кода.
Из-за соглашения о неразглашении я не могу привести пример кода, показывающий, как рисуется и строится диаграмма (это полностью откажется от нашего алгоритма). . Все, что я могу сказать, это то, что я создал внутреннее представление того, как данные должны быть отображены на диаграмме, и эта система очень грубо переведена на представленном изображении. Я могу сказать, что функция, которая отображает данные, использует исключительно функции lineTo и StrokeTo классов PDPageContentStream после начального перемещения в положение начальной точки на основе нашего внутреннего представления координат.
A примерное представление о кривых, которые хочет клиент.

Подробнее здесь: https://stackoverflow.com/questions/632 ... ugh-pdfbox
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»