1

これがserverfaultに属している場合は申し訳ありません

コマンドの標準入力としてSVG(xml)文字列を使用するのが適切な方法は何でしょうか"convert msvg:- jpeg:- 2>&1"(Linuxを使用)

現在、入力として使用するために一時ファイルを保存しているだけですが、私の場合、データはAPIから発信されているため、文字列をコマンドに直接フィードするのが明らかに最も効率的です。

皆様のご協力に感謝いたします。ありがとう!

4

1 に答える 1

3

これはうまくいくはずです:

convert  -  output.jpg

例:

convert  logo:  logo.svg
cat logo.svg | convert  -  logo.jpg

説明:

  1. この例の最初の行は、SVN ファイルを作成し、それをディスクに書き込みます。これは、2 番目のラインを実行できるようにするための予備停止にすぎません。

  2. 2 行目は2 つのコマンドのパイプラインcatです。ファイルのバイトをstdout (標準出力) にストリーミングします。

  3. 最初の行は、パイプラインの次のコマンドの準備としてのみ機能したため、この次のコマンドは何かを読み取る必要があります。

  4. この次のコマンドはconvert.

  5. この-文字は、convert入力データをディスクからではなくstdin (標準入力) から読み取るように指示する方法です。

  6. したがって、標準convert入力から入力データを読み取り、JPEG 出力をファイルに書き込みます。logo.jpg

  7. したがって、私の最初のコマンド/ラインは、 「現在、入力として使用する一時ファイルを保存しているだけです」と説明されているステップに似ています。

  8. 私の 2 番目のコマンド/行は API を使用していません (私はアクセスできませんよね?) が、「コマンドに文字列を直接供給する」ための別の方法を示しています。

  9. したがって、最も重要な教訓は次のとおりです。convert通常、ファイルから入力を読み取り、コマンドラインでファイルの名前を書き込む場所はどこでも、ファイル名を に置き換えて、stdinから読み取る必要があること-を伝えることができます。(ただし、実際にの標準入力で消化できるものが提供されていることを確認する必要があります...)convertconvert

すみません、これ以上うまく説明できません...

于 2012-08-14T00:59:02.323 に答える