PerfectVector
Автор: Irene Kim

Прозрачный фон EPS: что остаётся незакрашенным?

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

8 мин чтения
На этой странице

EPS может оставить область вокруг рисунка незакрашенной. Это отличается от сохранения изменяемой частичной прозрачности внутри рисунка. Белое окружение может быть страницей просмотрщика, настоящим белым прямоугольником или результатом сведения. До удаления выясните, какой случай у вас.

Есть и ограничение продукта: текущий экспорт EPS PerfectVector рисует непрозрачный белый или чёрный фон страницы и не сохраняет изменяемую прозрачность. Это не процесс экспорта прозрачного EPS. Независимо созданные образцы ниже показывают различие файлов и не являются результатами PerfectVector.

Определите, что означает белая область

НаблюдениеВозможное объяснениеСледующая полезная проверка
В одном предпросмотре рисунок на беломБелую страницу даёт просмотрщик либо белое нарисовано в файлеСравнить настоящий рисунок на цветном фоне в принимающем процессе
Белый прямоугольник закрывает цветной фонМожет присутствовать непрозрачный объект или сведённое изображениеПроверить исходные объекты и встроенный растр
Пустое окружение работает, полупрозрачный объект стал непрозрачнымЭкспорт не сохранил изменяемый эффект прозрачностиПроверить формат и экспортёр, сравнить с редактируемым источником
В авторской и другой программе файл открывается по-разномуПрограммы могут читать разные представленияПроверить размещённый или переданный результат, а не только родное открытие

Незакрашенность означает, что область не покрывает ни одна операция рисунка. Частичная прозрачность означает неполный вклад объекта при совмещении с фоном. Непрозрачная синяя лодка с пустым окружением и синяя лодка с половинной непрозрачностью требуют разного.

Документация Adobe по прозрачности и сведению объясняет, что Illustrator EPS может хранить исходные данные Illustrator рядом со сведёнными данными EPS. При открытии Illustrator может читать родное представление, а другая программа при размещении — EPS. Поэтому удачное родное открытие не подтверждает одинаковую изменяемую прозрачность везде.

Сведение разделяет прозрачный рисунок на другие представления, возможно с растеризованными областями. Сохраните редактируемый оригинал, если позже важны изменения прозрачности или фона.

Сравните два EPS и отдельный контроль SVG

Мы создали новую эмблему бумажной лодки в двух простых EPS. У обоих одинаковые границы 240 × 160 и команды непрозрачного рисунка. Второй добавляет одну белую заливку всей страницы перед лодкой:

1 1 1 setrgbcolor
0 0 240 160 rectfill

Удаление известной фоновой операции из второго образца точно воспроизводит первый. Это контролируемая пара, а не способ вслепую удалять текст из произвольных EPS.

Ghostscript 10.08.0 отрисовал оба файла устройством pngalpha при 144 dpi. Мы проверили сохранённые PNG во внутренних точках вдали от сглаженных границ:

ОбразецАльфа окруженияАльфа внутри лодкиИнтерпретация
Независимый EPS без заливки страницы0255Рендерер оставил окружение непокрытым; лодка непрозрачна
Тот же EPS после белой заливки страницы255255Белая страница нарисована и непрозрачна
Отдельный SVG с групповой непрозрачностью 0.50Около 128Сама лодка частично прозрачна в этом контроле SVG

Используется 8-битная шкала альфа: 0 — прозрачность, 255 — непрозрачность. Контроль SVG отрисован отдельно Sharp/librsvg и не преобразовывался в EPS.

Настоящие отрисовки Ghostscript независимых EPS с незакрашенным и белым окружением рядом с частично прозрачным SVG на клетчатом и бежевом фонах
Независимые образцы EPS и отдельный контроль SVG. PNG из EPS показывают покрытие вывода Ghostscript, а не изменяемый альфа-канал EPS. Это не экспорты PerfectVector, тесты вёрстки или физической печати.

Документация устройств вывода Ghostscript определяет альфа PNG как покрытие пикселей и говорит, что фон прозрачен без явной заливки. Это объясняет результат. Прозрачное окружение лодки в PNG — вывод рендерера, а не доказательство поля EPS, эквивалентного изменяемой прозрачности SVG.

Браузерная проверка декодировала сохранённые изображения и поместила на бежевый фон. В первом случае фон оставался виден вокруг лодки, во втором его закрывал белый прямоугольник, а частично прозрачная лодка SVG смешивалась с ним. Проверки устанавливают поведение образцов и этих рендереров, а не любого импортёра EPS в программе вёрстки.

Повторите проверку отрисовки контролируемого файла

Сохраните проверенный исходник как unpainted.eps:

%!PS-Adobe-3.0 EPSF-3.0
%%BoundingBox: 0 0 240 160
%%HiResBoundingBox: 0 0 240 160
%%LanguageLevel: 2
%%Pages: 1
%%Title: Original paper-boat background specimen
%%Creator: Independently authored article fixture
%%EndComments
gsave
% ORIGINAL BOAT ARTWORK
0.192157 0.364706 0.435294 setrgbcolor
newpath 55 65 moveto 185 65 lineto 165 40 lineto 75 40 lineto closepath fill
newpath 115 75 moveto 115 135 lineto 65 100 lineto closepath fill
newpath 125 75 moveto 170 75 lineto 125 120 lineto closepath fill
grestore
showpage
%%EOF

Для второго образца сохраните копию как white-painted.eps. Вставьте три показанные выше строки белой заливки сразу после gsave, перед % ORIGINAL BOAT ARTWORK. Команды лодки не меняйте.

При установленном Ghostscript выполните:

gs -dSAFER -dBATCH -dNOPAUSE -dEPSCrop \
  -sDEVICE=pngalpha -r144 \
  -sOutputFile=unpainted.png unpainted.eps

Во второй команде замените имена на white-painted.png и white-painted.eps. Обычное RGB-устройство PNG не даст той же проверки альфа. Результат нужно смотреть с включённой прозрачностью: белый холст за прозрачным PNG снова скроет различие.

Для наших файлов сравнение завершено, когда угол непокрыт в образце без заливки и непрозрачно белый в закрашенном, а лодка непрозрачна в обоих. Отдельный SVG проверяет другое свойство: частичную прозрачность внутри закрашенной фигуры.

Исправьте причину в редактируемом рисунке

Если есть белый объект: работайте с копией редактируемого оригинала. Подтвердите объект, создающий белое окружение, скройте и сравните оставшийся рисунок на контрастном фоне. Сохраните намеренные белые детали, например буквы и блики. Экспортируйте через процесс, действительно оставляющий окружение незакрашенным, и проверьте файл в программе получателя.

Если белое — только страница просмотра: изменение рисунка может повредить файл с уже нужным пустым окружением. Тестируйте фон в принимающем процессе или подходящую отрисовку покрытия, чтобы выяснить, нарисовано ли белое.

Если белое встроено в растр или сведённый результат: удаление прямоугольника страницы может не восстановить края и прозрачность. По возможности вернитесь к слоистому или векторному источнику. Плоский растровый силуэт можно трассировать или перерисовать для получения контуров, но мягкой тени или растушёванному краю нужен сохраняющий вид процесс.

Если частичная прозрачность должна редактироваться: сохраняйте поддерживающие её формат и экспортёр и уточните принятие получателем. Спецификация SVG fill-opacity определяет частичную заливку; наш контроль использует групповую непрозрачность. Adobe также описывает PDF-процессы с сохранением прозрачности. Имя формата не гарантирует сохранение всех эффектов конкретным экспортом или импортом.

Если проблема начинается в SVG, руководство по прозрачному фону SVG рассматривает фоновые объекты и экспорт. Чтобы определить, содержит ли EPS контуры или встроенное изображение, используйте руководство по структуре EPS.

Что сейчас делает экспорт EPS PerfectVector

Руководство PerfectVector по экспорту EPS говорит о плоских залитых векторных контурах с непрозрачным белым или чёрным фоном. Текущий модуль рисует этот фон всей страницы и отвергает промежуточную альфу вместо сохранения изменяемого эффекта EPS.

Удаление растрового фона до восстановления не меняет контракт экспорта. На редактируемом этапе рисунок может не иметь ненужной окружающей фигуры, но выбранный экспортёр всё равно выдаст непрозрачную страницу.

Если подходящему растровому логотипу нужны восстановленные контуры и непрозрачный фон EPS допустим, PerfectVector предоставит кандидат для проверки. Сравните буквы, углы, негативное пространство и цветовые области, затем откройте EPS в нужном принимающем процессе. Наш независимый EPS без заливки не доказывает, что продукт предлагает такой же результат.

Если требуется именно незакрашенное окружение EPS, используйте подходящий процесс редактирования и экспорта и проверяйте результат. Если важна изменяемая частичная прозрачность, согласуйте другой подходящий формат. Исходные векторы сохраняйте исходными; фотографии, текстуры и мягкие тени часто лучше оставлять растровыми или в редактируемом источнике.

Объяснение JPG в EPS рассматривает восстановление в отличие от упаковки пикселей в другой контейнер. При менее конкретном запросе поставщика руководство по форматам логотипа поможет сначала уточнить требования к файлу и объектам.

Частые вопросы

Может ли EPS иметь прозрачный фон? EPS способен оставить окружение незакрашенным. Наш независимый образец дал непокрытое окружение в альфа-PNG Ghostscript. Это не означает изменяемую частичную прозрачность рисунка или одинаковое поведение всех импортёров.

Почему EPS показывает белый прямоугольник? Белое может исходить от просмотрщика, закрашенного объекта, растра или сведённого представления. Сравните на цветном фоне в принимающем процессе и проверьте исходные объекты до удаления.

Экспортирует ли PerfectVector прозрачные EPS? Нет. Текущий экспортёр рисует непрозрачный белый или чёрный фон и не сохраняет изменяемую прозрачность. Используйте его при подходящих требованиях; для незакрашенного окружения или изменяемой прозрачности выберите другой проверенный процесс.

Доказывает ли открытие Illustrator EPS сохранение прозрачности при размещении в другой программе? Нет. Adobe объясняет, что Illustrator может читать родные данные рядом с представлением EPS, а другая программа — сведённые EPS-данные. Проверяйте результат реального получателя.

Источники

  1. Adobe — Печать и сохранение прозрачного рисунка — Объясняет сведение и различие родных данных Illustrator и передаваемых EPS.
  2. Ghostscript 10.08.0 — Устройства вывода — Описывает альфа PNG как покрытие и влияние явной фоновой заливки.
  3. W3C — Прозрачность заливки SVG — Определяет частичную заливку отдельно от групповой непрозрачности.
  4. PerfectVector — Изображение в EPS — Задаёт текущую область EPS с плоскими контурами и непрозрачным фоном.

Нужны контуры из плоского растра, и непрозрачный фон EPS допустим? Восстановите рисунок и проверьте кандидат EPS. Если требуются незакрашенное окружение или изменяемая прозрачность, выберите и проверьте процесс, действительно дающий их.

Ещё из блога

PerfectVector

Превратите файл изображения в
редактируемый SVG

Без банковской карты