Как сохранить смешение слоев после экспорта в SVG и PDF в QGIS?

Aug 18 2020

При экспорте карты, использующей смешение надписей в QGIS 3, смешение сохраняется только при экспорте в формате PNG. Если я попытаюсь экспортировать его в SVG или PDF, смешение будет потеряно.

Есть ли способ экспортировать в SVG или PDF с сохранением режима наложения слоев, которые его используют? На изображении ниже показаны фактические (слева) и ожидаемые (справа) результаты.

Единственные исправления, которые я нашел до сих пор, - это либо вручную добавить смешивание впоследствии в Inkscape (но это занимает много времени, и текст также смешивается), либо целенаправленно перекрывать два слоя, один с теневым фоном, а другой с текстом, так что в Inkscape можно смешивать только слой теневого фона (но мне не удалось сделать это в QGIS).

Ответы

3 Baswein Aug 18 2020 at 21:10

Похоже, что режимы наложения без растеризации в настоящее время не поддерживаются.

Из-за некоторых расширенных параметров рендеринга (режим наложения, эффекты…) элемент макета может нуждаться в растеризации для правильного экспорта. QGIS индивидуально растрирует его, не заставляя растрировать все остальные элементы. Это позволяет печатать или сохранять в формате PostScript или PDF, чтобы максимально сохранить элементы в виде векторов, например, элемент карты с непрозрачностью слоя не заставит также растрировать метки, масштабные линейки и т. Д. Однако вы можете:

  • принудительно растрировать все элементы, установив флажок «Печатать как растр»;
  • или используйте противоположную опцию, т.е. всегда экспортировать как векторы, чтобы при экспорте в совместимый формат элементы сохранялись как векторы. Обратите внимание, что в некоторых случаях это может привести к тому, что вывод будет отличаться от макета.

https://docs.qgis.org/3.10/en/docs/user_manual/print_composer/overview_composer.html#export-settings

Если вы принудительно экспортируете все слои как векторы, а затем в Inkscape, вы можете упростить задачу, используя инструмент редактирования путей по узлам

для выбора одной из фоновых масок. Затем Edit> Select Same> Fill and Stroke, чтобы выделить их все. И, наконец, в панели объектов измените режим наложения на умножение. Это изменяет только режим наложения маски фона, но не текста.