QGISでSVGとPDFにエクスポートした後、レイヤーブレンディングを節約するにはどうすればよいですか?

Aug 18 2020

QGIS 3でラベルブレンディングを利用するマップをエクスポートする場合、PNGとしてエクスポートする場合にのみブレンディングが保持されます。SVGまたはPDFにエクスポートしようとすると、ブレンドが失われます。

それを利用するレイヤーのブレンドモードを維持しながら、SVGまたはPDFにエクスポートする方法はありますか?以下の画像は、実際の結果(左)と期待される結果(右)を示しています。

私がこれまでに見つけた唯一の修正は、後でInkscapeで手動でブレンドを追加するか(ただし、時間がかかり、テキストもブレンドされます)、または2つのレイヤーを意図的にオーバーラップすることです。1つはシャドウの背景で、もう1つはテキストです。シャドウの背景レイヤーのみを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で強制すると、ノードによるパス編集ツール

を使用して背景マスクの1つを選択することで、作業の負担を軽減できます。次に、[編集]> [同じものを選択]> [塗りつぶしとストローク]を選択して、すべてを選択します。最後に、オブジェクトパネルで、ブレンドモードを乗算に変更します。これは、テキストではなく、背景マスクのブレンドモードを変更するだけです。