問題タブ [imagemagick-convert]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
xml - HerokuでSVGXMLをPNGに変換する
私は、ユーザーがRaphael.jsを使用してSVGを描画できるようにするWebアプリに取り組んでいます。
彼らが個人情報を投稿するとき、私はXMLSerializer()。serializeToStringを使用し、MySQLに保存される非表示のフォームフィールドを介して出力を送信します。
私の問題は、後でこのXMLデータを読み取り、それをPNGファイルに変換して、後でユーザーにメールで送り返すことができるようにしたいということです。私のアプリはHerokuにデプロイされています。
私はバティックとrmagickを知っていますが、すべてを組み合わせる方法がよくわかりません。
私は解決策を見つけようと輪になって回っています-いくつかの方向性をいただければ幸いです-ありがとう!
python - ImageMagickの「変換」ユーティリティをPythonサブプロセスとして使用する
サムネイルの大きなディレクトリを変換したいと思っています。
PythonMagickラッパーを使用する代わりに、変換バイナリに直接アクセスしたいと思います(フラグがたくさんあるので、大量の写真の場合はこれがより効率的だと思います)。
ImageMagickをサブプロセスとして使用する実際の例はありますか?または、これを行うためのより良い方法はありますか?
具体的には、クラス内からPythonサブプロセスを開始および終了する方法がわかりません。私のクラスはThumbnailGeneratorと呼ばれています。私はこのようなものを作りたいと思っています:
python - ImageMagickを使用してAmazonS3に保存されている画像のサムネイルを生成する
ImageMagickの変換ユーティリティを使用して、S3に保存されている画像のサムネイルを作成したいと考えています。私はこれをPythonで書いています。
これにどのようにアプローチすればよいですか?
S3から画像を読み取り、EC2インスタンスの一時フォルダーに保存し、サムネイルを一時ディレクトリに生成してから、一時ファイルをS3に配置して削除する必要がありますか?
または、ローカルディスクに保存せずにS3からの結果をImageMagickに「パイプ」することはできますか?
これを行うための推奨される方法はありますか?
前もって感謝します。
imagemagick - ImageMagick と convert を使用してサムネイルを効率的に生成する
Python で ImageMagick の convert ユーティリティを使用して、さまざまなサイズのサムネイルを効率的に生成しようとしています。一部の画像ファイルは非常に大きい (~15MB JPG)。
次のように、フルサイズの画像を取得し、フルサイズの画像からさまざまなサムネイルを生成する方法があります。
しかし、別の方法は、画像のサイズを互いに変更することです。
これを行うことの欠点、またはおそらくより良い方法はありますか? これでかなり効率化できそうです。
結果として、プロセスを高速化するために convert が使用するフラグまたは「トリック」はありますか?
imagemagick - ImageMagick では、特定のサイズにトリミングされるように画像を縮小するにはどうすればよいですか?
たとえば、1600x1200 の大きな画像があるが、250x200 (高さと幅の比率が異なる) のサムネイルを生成したい場合、これをサイズに縮小してから中央をトリミングするにはどうすればよいですか? これは convert を使用して 1 行で可能ですか?
imagemagick - ImageMagick で複数の画像を相対 (絶対ではない) オフセットと組み合わせる
オーバーレイされた画像間の間隔/パディングが一貫しているように、背景画像の上にImageMagickで複数の画像をつなぎ合わせる最も効率的な方法を探していますか?
+append、convert -composite、convert with -page および -layers merge の使用を調査しました。
次のコマンド (convert -composite) は機能しますが、絶対オフセットを指定するために画像の寸法を事前に計算する必要があります。本当に、最初のレイヤー画像の終わりと2番目のレイヤー画像の始まりの間に10ピクセルのギャップが必要ですが、それを達成する唯一の方法は、キャンバスの左上隅からの絶対オフセットを指定することです.
レイヤーの「最後の」画像に対して水平オフセットを解釈できるように、ある種の演算子を探しているので+300+10
、2番目の画像と3番目の画像を指定する代わりに、オフセット+590+10
を指定できます。+10+10
CSS ポジショニングで機能-gravity Northwest
するのと同じ方法で、重力によってそれを達成できると思っていましたが、そうではありません。float: left;
私はまた、次のことでいくつかの成功を収めました:
説明されている両方の手法では、絶対オフセットを事前に計算する必要がありますが、これは少し面倒です。これを行うより良い方法はありますか?
imagemagick - ImageMagick変換のファイル順序を定義する
TIFアニメーションに変換したいPNG
という名前のファイルがたくさんあります。数は5の跳躍で0から25まで変化します。ImageMagickは、アニメーションの最後に配置されますが、2番目に配置されます。ファイルの名前を変更して適切な場所に配置する以外に方法はありますか?foo<bar>.png
<bar>
foo5.png
foo05.png
linux - ImageMagick:多数の画像ファイルのサイズを変更しながらメモリ使用量を少なくする方法は?
多数(約5200)の画像ファイル(PPM形式、それぞれ5 MBのサイズ)のサイズを変更し、を使用してPNG形式で保存したいと思いますconvert
。
短縮版:
convert
convert
画像ファイルを連続して処理するように指示する構文を使用していますが、24GBのメモリを消費します。
ロングバージョン:
25 GBを超える画像データに関しては、すべてのファイルを同時に処理するべきではないと思います。画像ファイルを連続して処理する方法についてImageMagickのドキュメントを検索したところ、次のことがわかりました。
読み取った各画像のサイズを変更する方が高速で、リソースをあまり消費しません。
$ convert '*.jpg[120x120]' thumbnail%03d.png
たとえば...の代わりに
montage '*.tiff' -geometry 100x100+5+5 -frame 4 index.jpg
最初にすべてのtiffファイルを読み取り、次にそれらのサイズを変更します。代わりに行うことができます...
montage '*.tiff[100x100]' -geometry 100x100+5+5 -frame 4 index.jpg
これにより、次の画像に進む前に、各画像が読み込まれ、サイズが変更されます。その結果、メモリ使用量がはるかに少なくなり、メモリ制限に達したときにディスクのスワッピング(スラッシング)が防止される可能性があります。
したがって、これは私がしていることです:
ドキュメントによると、各画像ファイルを1つずつ処理する必要があります:読み取り、サイズ変更、書き込み。これは、12個の実際のコアと24GBのRAMを搭載したマシンで実行しています。ただし、最初の2分間で、convert
プロセスのメモリ使用量は約96%に増加します。それはしばらくそこにとどまります。CPU使用率は最大です。もう少し長くなり、プロセスは終了します。
殺された
この時点では、出力ファイルは作成されていません。私はUbuntu10.04を使用していて、次のようにconvert --version
言っています。
convert
変換を開始する前にすべてのデータを読み取ろうとしているようです。したがって、にバグがあるかconvert
、ドキュメントに問題があるか、ドキュメントを正しく読んでいませんでした。
なにが問題ですか?この多数の画像ファイルのサイズを変更しながら、メモリ使用量を少なくするにはどうすればよいですか?
ところで:簡単な解決策は、シェルを使用してファイルをループし、ファイルconvert
ごとに個別に呼び出すことです。しかし、私は純粋なImageMagickで同じことを達成する方法を理解したいと思います。
ありがとう!
imagemagick - ImageMagick に RGBA 配列を渡して画像としてレンダリングする方法はありますか?
質問はほとんどそれをすべて言います。
アイデアは、手続き型 PNG を生成することです。imageMagick の「-fx」演算子は知っていますが、非常に遅いです。
回避策として、配列を .bmp に保存し (これはほとんど保存するだけです)、ImageMagick を使用して .bmp を .png に変換することもできますが、より直接的な方法があればよいでしょう。
perl - ImageMagick APIを使用してPerlでこのコマンドラインコマンドを作成するにはどうすればよいですか?
ImageMagick APIを使用してPerlで次のコマンドラインコマンドと同じことを行うにはどうすればよいですか?
結果は次のようになります。