4

ここに私のテストへのリンクがあります: http://pestnow.herokuapp.com/tester/svg 左の画像は SVG で、右の画像は PNG 変換です。変換のための非常に単純なコードは次のとおりです。

def self.svg_to_png(svg)
  img = Magick::Image::from_blob(svg)
  return img[0].to_blob {self.format = 'PNG'}
end

私はこの問題に苦労しており、ここで質問に答えました: SVG to PNG Conversion with ImageMagick does not handle defs? その質問は、IM が適切に変換を行うようにすることと関係がありました。そして、コマンドラインから単純な「convert test.svg test.png」を使用して実行します

しかし、RMagick 変換は同じようには機能しません。私のローカル開発ボックスでは、ImageMagick を RVG サポート付きでコンパイルし、コマンド ラインを修正しました。しかし、RMagick に同じように使用させる方法がわかりません。

さらに、このアプリはherokuでホストされており、IMのインストール方法を制御できないため、サーバーで必要な機能ではなく、コードで行う必要があることを望んでいます。

4

1 に答える 1

0

報告すべきだった。

はい、HerokuにはIMがありますが、サポートされていません。彼らが使用しているのは(私が信じている)Ubuntuの長期サポートバージョンの一部としてそこにあるだけです。私たちは何度か話し合いましたが、彼らは他のLinux libs / utilsと一緒に将来アップグレードするかもしれないと言っていましたが、明確な時間枠はありませんでした。私の推測では、おそらく次のスタックにあります。

それまでは、SVGでのシンボルの使用をやめ、変換の順序についていくつかのトリックを実行する必要がありましたが、ほとんどの場合、機能しています。もう1つのアドバイスは、Herokuが開発ボックスで使用している正確なバージョンのIMを使用していることを確認することです。多くの心痛を救います。

于 2012-07-26T23:35:47.633 に答える