Постановка задачи
Растрировать изображение макета в высоком разрешении приходится:
1) для смежников или заказчика, требующих растровую картинку;
2) для вставки макета в растровом виде в документы MS Office, программы вёрстки или иные программы;
3) из-за непреодолимых проблем при печати векторного изображения макета непосредственно из ObjectLand, например, из-за проблем со штриховкой при выводе на плоттер Canon W7200.
Существующие варианты решения
В ГИС ObjectLand есть возможность сохранять темы в растровый файл BMP (с неприемлемо низким разрешением) и в векторный формат EMF при помощи меню «Сервис», пункта «Сохранить в файл…». Макеты же сохранить в виде растра невозможно в принципе, их можно только распечатать. Иногда выйти из положения можно, используя так называемые «псевдопринтеры» – программы, сохраняющие распечатку в формате EPS или PDF. Лучшей такой программой, на взгляд автора, является бесплатная PDFCreator, которую можно скачать здесь: http://www.pdfforge.org/pdfcreator, также можно попробовать бесплатную PDF995, которую можно найти по адресу http://www.pdf995.com . Но псевдопринтерам свойственны искажения штриховок и шрифтов, что тоже неприемлемо на практике.
Предлагаемая программа
В данной статье описана программа для растрирования макета в цветной файл формата TIF, сжатый по алгоритму LZW. Данный алгоритм сжатия идеально подходит для хранения топографических и тематических карт, обеспечивая высокую степень компрессии и не внося при этом никаких помех и искажений в изображённую информацию. Для склейки временных файлов-фрагментов применяется бесплатная программа ImageMagick, дистрибутив которой нужно скачать со страницы http://www.imagemagick.org/script/binary-releases.php#windows, подзаголовок «Windows Binary Release», рядом с пометкой «Win32 dynamic at 8 bits-per-pixel» и установить, обладая правами администратора, обязательно отметив при установке самый нижний флажок, как показано на рисунке:
При нормальном завершении работы программы растрирования (конечно, при условии правильной установки ImageMagick) результатом растрирования должен быть один-единственный TIF-файл, сохраняемый в ту же папку, где находится ГБД. Флажок с надписью «с замедлением» рядом с кнопкой «Растрировать» действительно замедляет работу, но зато позволяет избежать сбоев в ходе растрирования и ошибок в построенном изображении. Рекомендую устанавливать этот флажок, только если без него на растре появляются дефекты изображения.
Быстрый процессор не ускорит процесс построения растра, а вот более быстрый жёсткий диск (точнее, дисковая подсистема компьютера) – ускорит существенно. Растрирование небольших макетов (A4-A3, в низком разрешении) и так идёт быстро, но может быть ускорено добавлением оперативной памяти. Для больших размеров макета и/или высоких разрешений оперативная память полностью исчерпывается, и решающее значение приобретает быстродействие винчестера (а не процессора).
Для работы программы под Windows XP требуется наличие на компьютере исполняемой среды NET Framework 4.0, в настоящее время её дистрибутив предоставляется бесплатно по адресу http://www.microsoft.com/ru-ru/download/details.aspx?id=17718 , для установки необходимо войти в систему с правами администратора. Для работы под Windows Vista и всех более новых устанавливать NET Framework не нужно, программа работает сразу.
При запуске программы все её файлы DLL должны находиться в том же локальном (не сетевом) каталоге, что и EXE-файл.
ObjectLand должен быть установлен вместе со своим COM-сервером, то есть «типичная» установка не годится, нужна «полная».
Для версий ObjectLand, более старых, чем 2.6.9, требуется установить патч к ObjectLand, распространяемый бесплатно с разрешения разработчиков программы, без него некоторые точечные знаки на растре будут иметь неправильный размер: при большом разрешении они будут меньше, чем надо, а при низком разрешении (ниже 96 dpi) – больше, чем надо. Просто скопируйте два файла из архива патча в папку C:\Program Files\ObjectLand\BIN, перезаписав одноимённые старые файлы (конечно, ObjectLand при этом не должен быть запущен).
Патч к ObjectLand (для версий, более старых, чем 2.6.9)
Программа для растрирования макетов (для версий 2.6.x, только под Windows XP)
Программа для растрирования макетов (для версий 2.7.x, только под Windows XP)
Программа для растрирования макетов (для версий 2.7.x, под Windows Vista и новее)
Версия для Windows 7, 8, 10 (x86 и x64)
Замечания по поводу новой версии.
Чтобы повысить стабильность:
- включить флажок «с замедлением», скорость понизится (иногда существенно), зато не будет зависаний и аварийных завершений программы.
Чтобы повысить скорость:
- объём оперативной памяти не имеет большого значения, так как узкое место — процесс «Ol.dll» — подчиняется значению, установленному в поле «Максимальный размер используемой виртуальной памяти» (в «Редакторе компонент» ObjectLand: меню «ГБД» -> «Настройка…» -> закладка «Память»). Для Windows XP лучше выставить максимально возможное значение, 1000 Мб, для Windows 7 — не более 700 Мб, для Windows 10 — ничего не менять, оставить 200 Мб. При попытке выставить значения, большие чем указано, придётся «чинить» реестр либо переустанавливать ObjectLand заново.
- разрядность Windows не имеет значения: и ObjectLand, и программа растрирования — 32-разрядные.
- скорость дисковой подсистемы имеет значение для макетов больших размеров «ширина-высота» либо при больших разрешениях макета в dpi (программа поддерживает от 10 до 600 dpi).
ImageMagick подходит только ДО версии 7.0, то есть, например 6.9.10-52 и более старенькие — годятся (находятся в настоящее время здесь). При установке ImageMagick набор опций не имеет значения, не надо только менять название папки, в которую ImageMagick намерен себя инсталлировать. Разрядность (x86 либо x64) ImageMagick тоже не имеет значения, хотя рекомендую всё же 32-разрядную версию (x86), потому что она не «подводит».
Обсуждение программы предлагаю вести на форуме ObjectLand.
Программа для растрирования макетов (для версий 2.7.x, под Windows Vista и новее)
6 июля 2007 г. — 30 апреля 2015 г. — 5 июля 2019 г.
Трухачёв М.Ю.