Это - немного религиозная проблема. Я использую язык сценариев для специальных задач, таких как:
, Все они могут также быть сделаны на скомпилированном языке, но для меня это быстрее и легче сделать их в языке сценариев (я использую рубин, но Perl и Python очень хорошо).
Я решил не пытаться делать это программно. Вместо этого я создаю исходную диаграмму в PNG, затем конвертируйте в 300 DPI с помощью Irfanview. Возможность пакетной обработки Irfanview позволяет мне конвертировать в 300 точек на дюйм, масштабировать для компенсации и устанавливать шкалу серого, все за одну операцию - и для нескольких файлов одновременно. Кажется, это лучшее решение, но все равно спасибо всем!
Я не понимаю часть getAsTree (), но, отвечая на вопрос, который появляется в заголовке, устанавливая dpi для файлов PNG, вы можете использовать инструмент преобразования imagemagick:
convert -density 300 -units pixelsperinch infile.jpg outfile.png
PNG, BMP и десятки других графических форматов не сжимают ваши диаграммы - вероятно, ваш комментатор имел в виду сжатие. JPEG отлично подходит для фотографий, но плохо справляется с диаграммами.
Возможно, вы захотите изучить SVG и другие векторные форматы. Или, если ваша среда позволяет, экспортируйте файлы JPEG со сжатием 0% и конвертируйте их в другой формат для воспроизведения без потерь с разрешением 300DPI.
Надеюсь, что это поможет!