3

gnuplot (4.2) を使用して、グラフを PostScript ファイルに書き込みました。しかし、「convert file.ps file.png」コマンドを使用してこの .ps ファイルを .png ファイルに変換すると、背景のない (透明な) png 画像が得られます。

なぜこれが起こるのですか?また、背景が白い png 画像を取得するにはどうすればよいですか?

4

2 に答える 2

4

「なぜこれが起こるのですか?」

次の 2 つの理由が考えられます。

まず、 PostScript 入力に背景が含まれていない可能性が非常に高いです。事実上、これは「透明」です。印刷時は通常通り表示されます。(一部の PostScript ファイルには白い背景があります。また、印刷すると、これは通常どおりに表示されます。ファイルの「背景」に透かしを追加しようとしたときに、それが機能しないように思われる場合にのみ、これを発見します。これらの場合、透かしストロークは白い領域で覆われていますが、これも最初にストロークされた PS コンテンツで覆われています...)

2 番目:convert a.ps a.pngコマンド自体はジョブを実行しません。外部 の「デリゲート」ヘルパー プログラム (おそらく Ghostscript) を呼び出します。また、Ghostscript には、PNG 出力を微調整するさまざまな方法があります。次のように、すべての出力「デバイス」について Ghostscript にクエリを実行できます

gs -h

次に、PNG 関連のデバイスを含む行のみにクエリを制限します。

gs -h | grep png

pngalpha出力デバイスがあることがわかります。これは、PNG 画像の透明度を出力できます。

次に、convertデリゲートの完全なリストについてクエリを実行します。

convert -list delegate

convertジョブを完了するために背後で使用する数十のコマンドが表示されます。PNG の入力または出力処理に使用するコマンドを見てみましょう。

convert -list delegate | grep -i png

gs ... -sDEVICE=pngalpha ...いくつかの変換タイプのコマンドラインが見つかる可能性があります。

「白い背景の png 画像を取得するにはどうすればよいですか?」

これを試して:

convert a.ps -background white a.png
于 2010-09-13T14:24:14.700 に答える
0

Pipitas は、なぜこれが起こっているのかをすでにうまく説明しています。

問題を解決するには、つまり背景を白くするには、コマンド ラインの-alpha off設定を使用します。convertさらに、-density xスイッチを使用して出力の解像度を制御すると便利です。したがって、次のようなことを試す必要があります。

convert -density 300 -alpha off input.ps output.png

于 2012-01-09T13:50:09.343 に答える