Bounding box EPS: обрезанный рисунок и лишние поля
Выясните причины обрезанного EPS и лишних полей, сравнив объявленные границы с нарисованными элементами. Экспортируйте заново и проверьте фактический результат получателя.
На этой странице
- Правильно прочитайте четыре координаты
- Сопоставьте симптом со следующей проверкой
- Один рисунок и четыре разных объявления границ
- Найдите причину, исправьте и проверьте замену
- 1. Отделите объявление от рисунка
- 2. Исправьте причину в редактируемом мастере
- 3. Проверьте именно файл, который будет использовать получатель
- Как это выглядит с PerfectVector
- Частые вопросы
- Источники
Если EPS теряет часть логотипа или приходит с чрезмерным пустым пространством, сравните объявленную ограничивающую рамку, или bounding box, с тем, что файл действительно рисует. Принимающий процесс, использующий слишком маленькую рамку, может обрезать существующие элементы; слишком большая рамка может оставить ненужные поля. Повторный экспорт из редактируемого мастера обычно является самым понятным исправлением. Увеличение объявления не восстановит рисунок, который не был сохранён или всё ещё исключён обтравочным контуром.
Начните с исходного EPS, полного визуального эталона и требований принимающей программы. Сохраните оригинал и испытывайте замену под отдельным именем, чтобы сравнить фактическую передачу.
Правильно прочитайте четыре координаты
Ограничивающая рамка EPS описывает прямоугольник, охватывающий нарисованные элементы. В таком заголовке:
%%BoundingBox: 20 15 101 6620 15 — нижний левый угол, а 101 66 — верхний правый. Ширина равна 101 − 20 = 81 пункту, высота — 66 − 15 = 51 пункту. Последние два числа — координаты, а не ширина и высота. Ненулевой нижний левый угол допустим.
Спецификация Adobe EPSF 3.0 определяет рамку вокруг нарисованных элементов, включая протяжённость обводки и соединения линий. Поэтому одна осевая линия контура может недооценить нужные границы. Спецификация Adobe DSC 3.0 требует целочисленных аргументов для %%BoundingBox.

Сопоставьте симптом со следующей проверкой
| Симптом | Возможная причина | Полезная проверка |
|---|---|---|
| Резкая прямоугольная граница пересекает знак | Объявленная область обрезки или рамка получателя слишком мала | Сравнить объявление, сохранённый охват рисунка и настройки обрезки получателя |
| Целый знак находится внутри больших полей | Завышенные объявленные границы или дополнительные нарисованные элементы | Проверить полный источник и фактический прямоугольник размещения |
| Обводка срезана у в остальном правильного края | Границы могут не включать толщину нарисованной обводки | Пересчитать по полному внешнему виду в исходной программе |
| Миниатюра отличается от размещённого результата | Предпросмотр и отрисованный рисунок могут быть разными представлениями | Сравнить свежую отрисовку с фактическим результатом назначения |
| Увеличенное объявление всё ещё оставляет рисунок неполным | Отсутствуют команды рисования или применён обтравочный контур | Вернуться к полному редактируемому мастеру и изучить сам рисунок |
Белое поле также требует отдельной проверки фона. Это может быть окружающая пустота, настоящий белый объект или растрированное содержимое. Диагностика фона EPS объясняет различие; изменение границ не подтверждает прозрачность.
Один рисунок и четыре разных объявления границ
Мы создали четыре EPS с побайтово одинаковой программой рисования: бирюзовым прямоугольником, тёмным треугольником с белой круглой деталью и оранжевой полосой возле правого края. Повторное чтение сохранённых команд подтвердило одинаковые внешние границы рисунка во всех файлах:
lower-left: (20.25, 15.5)
upper-right: (100.75, 65.25)Менялись только комментарии границ. Все четыре заголовка объявляли PostScript LanguageLevel 2. Ghostscript 10.08.0 отрисовал фактически сохранённые файлы с png16m, -dEPSCrop и 288 dpi, что в исследовании даёт четыре пикселя на пункт.
| Объявление | Фактический размер PNG | Наблюдаемый результат |
|---|---|---|
%%BoundingBox: 20 15 101 66 | 324 × 204 | Целый знак с небольшими полями целочисленного округления |
%%BoundingBox: 20 15 60 66 | 160 × 204 | Правая часть треугольника обрезана; оранжевая полоса вне отрисовки |
%%BoundingBox: 0 0 120 80 | 480 × 320 | Целый знак со значительными белыми полями |
| Та же охватывающая целочисленная рамка и дробные границы HiRes | 322 × 199 | Целый знак без полей целочисленного округления в этом рендерере |
Для последней строки дополнительный комментарий был таким:
%%HiResBoundingBox: 20.25 15.5 100.75 65.25Здесь HiResBoundingBox задаёт дробные границы. В этом запуске Ghostscript наблюдаемая обрезка следовала им. Это не обещание, что каждый импортёр EPS назначает комментарию такой же приоритет. Мы не приписываем это расширение спецификации DSC 3.0.
Результаты 324 × 204 и 322 × 199 означают разные размеры обрезки, а не другой масштаб рисунка. Объявленный целочисленный прямоугольник 81 × 51 пункт охватывает нарисованный прямоугольник 80,5 × 49,75 пункта. Поле округления ожидаемо в этом контролируемом файле.
Пиксельные проверки обнаружили оранжевую полосу в полных отрисовках; её известная позиция находилась за пределами слишком маленькой отрисовки. Отдельный проход Ghostscript bbox без обрезки EPS сообщил одинаковые границы рисунка всех четырёх файлов, совпавшие с сериализованным охватывающим прямоугольником. Это подтверждает причину примера: обрезанная отрисовка потеряла видимость, хотя сохранённые команды рисования остались.
Слишком маленькое и слишком большое объявления — намеренно неправильные контрольные варианты. Исследование проверяет один рендерер и простую геометрию заливок, не подразумевая результата импорта в программу, предпросмотра EPS, физической печати или конверсии PerfectVector.
Найдите причину, исправьте и проверьте замену
1. Отделите объявление от рисунка
Сравните полный эталон с фактически отрисованным содержимым файла. Если можете изучить текстовый заголовок EPS, прочитайте оба объявления границ, когда они есть. Не считайте, что элементы произвольного файла можно измерить поиском чисел координат: настоящий PostScript может использовать преобразования, процедуры, текст, изображения и отсечение.
Для технической проверки отрисовки при установленном Ghostscript мы испытали такой шаблон команды:
gs -dSAFER -dBATCH -dNOPAUSE \
-sDEVICE=png16m -r288 -dEPSCrop \
-sOutputFile=eps-check.png artwork.epsКоманда записывает PNG для проверки, но не исправляет и не заменяет EPS. Документация использования Ghostscript описывает -dEPSCrop как обрезку EPS по ограничивающей рамке.
Если нужно отдельное измерение охвата рисунка, отличайте его от обрезанной отрисовки. Документация устройства bbox объясняет, что результат зависит от разрешения растрирования и округления и по умолчанию исключает белые объекты. Поэтому измеренный небелый охват не становится автоматически полной производственной рамкой, особенно для намеренно белого рисунка.
2. Исправьте причину в редактируемом мастере
Если границы исключают существующий рисунок, заново экспортируйте полный задуманный рисунок с охватывающей рамкой. Включите видимую протяжённость обводки. Если поля чрезмерны, до изменения области экспорта проверьте, не расширяют ли фактическое содержимое случайные или намеренно нарисованные объекты.
Используйте документированные настройки сохранения EPS исходной программы и подтвердите нужную монтажную область или диапазон. Руководство Adobe по сохранению Illustrator описывает сохранение EPS, выбор монтажной области и отдельный параметр изображения предпросмотра. Это документированные настройки; исследование не выполняло экспорт Illustrator и не устанавливало поведение его импорта.
Если недостающее содержимое отсутствует в сохранённом рисунке или исключено обтравочным контуром, исправьте проблему источника и экспортируйте снова. Изменение комментария не добавляет отсутствующие команды контура и не меняет операцию отсечения. Если мастер недоступен, запросите полный источник или исправленный экспорт, а не принимайте увеличенную пустую рамку.
3. Проверьте именно файл, который будет использовать получатель
Отрисуйте замену и сравните с эталоном полный силуэт, тонкие концы обводок, внутренние белые детали и намеренные поля. Подтвердите размеры по разностям координат. Затем разместите или импортируйте ту же замену в реальном принимающем процессе и изучите обрезку и масштаб.
Если отрисовка полная, но при размещении рисунок всё ещё режется, исследуйте рамку назначения, настройки импорта и обработку файла. Если оба результата неполны, вернитесь к содержимому источника и отсечению. Храните замену отдельно, пока и содержимое, и результат получателя не отвечают требованиям.
Успешная проверка границ ничего не говорит о наличии редактируемых контуров или встроенного bitmap. Для этого используйте руководство по проверке структуры EPS. Ограничивающая рамка SVG — другая система; её измерения DOM не заменяют интерпретацию комментариев и рисования EPS.
Как это выглядит с PerfectVector
Если остался лишь полный плоский растровый логотип и непрозрачный фон EPS подходит заданию, восстановите видимые формы процессом PerfectVector «изображение в EPS». Сравните восстановленные силуэт, надписи и отверстия с эталоном, затем проверьте полный экспортированный EPS и размеры в принимающем процессе.
Текущий результат использует контуры с плоскими заливками и непрозрачным белым или чёрным фоном. Это подготавливает новый кандидат рисунка; не исправляет произвольный заголовок EPS, не восстанавливает невидимый отсутствующий рисунок и не подтверждает обрезку получателя. Если редактируемый векторный мастер уже есть, исправьте и экспортируйте его.
Частые вопросы
Должна ли ограничивающая рамка EPS начинаться с нуля?
Нет. Нижняя левая координата может быть ненулевой. Ширина и высота получаются вычитанием нижних координат из верхних. Наша охватывающая целочисленная рамка начинается в (20, 15) и описывает прямоугольник 81 × 51 пункт без перемещения команд рисования.
Может ли большая BoundingBox вернуть обрезанный рисунок?
Она может изменить видимую область, когда рисунок ещё присутствует и принимающий процесс использует объявление. Она не воссоздаст отсутствующие команды и не отменит обтравочный контур. Исправьте и повторно экспортируйте полный мастер, затем проверьте фактическое назначение.
Всегда ли HiResBoundingBox удаляет лишние поля?
Универсальное поведение здесь не установлено. В контролируемом запуске Ghostscript 10.08.0 следовал дробным границам, давая 322 × 199 пикселей вместо 324 × 204 от целочисленной охватывающей рамки. Проверьте поведение реального импортёра и сохраните корректное охватывающее целочисленное объявление.
Источники
- Adobe — Спецификация EPSF 3.0 — Определяет нижние левые и верхние правые границы вокруг рисунка, включая протяжённость и соединения обводок.
- Adobe — Спецификация DSC 3.0 — Определяет целочисленные координатные аргументы комментария BoundingBox.
- Ghostscript — Параметры EPS — Документирует EPSCrop и связанные настройки обработки EPS.
- Ghostscript — Вывод ограничивающей рамки — Документирует измерение bbox, белые объекты и ограничения разрешения и округления.
- Adobe — Сохранение рисунка — Описывает экспорт EPS, выбор монтажной области и отдельный параметр изображения предпросмотра.
Начинаете с полного растрового логотипа и допускаете непрозрачный фон? Создайте кандидат EPS из изображения, сравните контуры с эталоном, затем проверьте весь экспортированный рисунок, размеры и обрезку в процессе получателя.
Ещё из блога

Границы страницы PDF: TrimBox, BleedBox и MediaBox
Разберитесь в границах страницы PDF на измеренном примере. Сравните TrimBox, BleedBox, MediaBox и CropBox до экспорта логотипа или передачи в печать.

Требования Shutterstock к векторам: проверки EPS
Проверьте правила Shutterstock для формата EPS, границ графики и веса файла, затем контуры, цвет и допустимость исходника перед подготовкой векторной заявки.
