問題タブ [graphicsmagick]
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.
image - ImageMagick/Graphicsmagick-colorsオプションを理解するのに助けが必要
PNGファイルとGIFファイルのファイルサイズをプログラムで縮小(不可逆)しようとしています。その一環として、画像の色数を減らす必要があります。すべての画像を単一の色の値に減らしたくないので、私がしているのは次のとおりです。次に、画像内の一意の色の数を取得します。この数を2で割ると、色の数が半分になります。
問題は、これが機能しないことです。ImageMagicを使用すると、速度が遅すぎて、画像の固有の色が数百未満でない限り、ファイルサイズが小さくなりません。GraphicsMagickを使用すると、元の画像の色の数に関係なく、常に255未満の一意の色の値になります。GraphicsMagickのもう1つの問題は、画像に透明なピクセルがある場合、失われた色が透明に置き換えられることです。
どんな助けでも大歓迎です、ありがとう。
compression - convert (ImageMagick または GraphicsMagick) のどのオプションが最小の (ファイルサイズ) PNG を生成しますか?
ImageMagick はかなり大きな PNG を作成します。GraphicsMagick の方がはるかに優れていますが、convert で使用して最小のファイルサイズの png を取得するための最良のオプションを探しています。
ここに小さなファイルサイズの大きな png があり、これを IM convert に渡すと、そのファイルサイズに達することができず、ましてや小さくすることができませんでした。GM 変換を使用すると、少し小さくすることができますが、一般的には、遭遇するすべての画像の改善を探しています。
最小の PNG ファイルサイズを生成する convert のオプションはどれですか?
(はい、私は OptiPNG、PNGOUT、および Pngcrush に精通しています。しかし、たまたま使用しているすべての *nix ボックスで疑いなく利用できるものを求めています。)
com - ImageMagick と GraphicsMagick COM オブジェクトを区別する方法はありますか?
ImageMagick と GraphicsMagick の両方がインストールされています。どちらもコマンドの名前空間が異なるため、コマンド ラインから自由に使用できます (すべての ImageMagick コマンドはgm
GraphicsMagick コマンドのパラメーターです)。コマンドラインから:
convert ...
ImageMagick を使用gm convert ...
GraphicsMagick を使用
それはすべてうまくいきます。ただし、両方のプログラムの COM オブジェクトが同じように呼び出されるようです。
Set img = CreateObject("ImageMagickObject.MagickImage.1")
ImageMagick オブジェクトを作成しますSet img = CreateObject("ImageMagickObject.MagickImage.1")
SimpleTest.vbs
GraphicsMagick オブジェクトを作成します... 信じがたいですが、これは GraphicsMagickサンプル スクリプトからそのままです
使用する COM オブジェクトを指定するにはどうすればよいですか? それとも私は運が悪いのでしょうか?
編集: ImageMagick と GraphicsMagick に含まれているサンプル VBS スクリプトを比較しました。どちらも SimpleTest.vbs という名前です。ファイル名よりも多くの共通点があることがわかりました。それらはほぼ同一のファイルです。これ自体はあまり意味がないかもしれませんが (結局のところ、GM は IM からフォークされました)、GraphicsMagick が実際に COM オブジェクトを持っているのか、それとも ImageMagick の COM オブジェクトを Windows バイナリに含めているだけなのか疑問に思い始めています。
image-processing - GraphicsMagick には、ImageMagick の「convert -auto-orient」オプションと同等のものがありますか?
写真のサイズ変更と回転しかしていないので、GraphicsMagick に移行したいのですが、少し高速だったと聞きました。ただし、 -auto-orient オプションを直接使用することはありません。これを効率的に行う別の方法はありますか?Imagemagick の convert -auto-orient オプションは、EXIF 方向タグを読み取り、それに応じて回転し、EXIF タグを方向 = 1 にリセットします。
c++ - graphicsmagickのヘッダーファイルを取得する方法
QTを使って画像処理ツールを開発しています。QTとgraphicsmagick(magick ++)c++ライブラリの両方を初めて使用します。開発言語としてc++を使用する予定です。誰かがgraphicsmagickヘッダーファイルを取得する方法を教えてもらえますか?
php - PHP から GraphicsMagick への呼び出しをデバッグするためのアイデア
gm convert
基本的に、GraphicsMagick 1.3.12 から exec() を介して呼び出して画像のサイズを変更する小さな PHP クラスを作成しました。ライブ サイトのユーザーが問題を報告しており、私の開発ボックスでもいくつかの問題を再現できました。
関連するコードは次のようになります。
ライブ サイトは PHP/5.2.9-2 で実行され、開発サイトは PHP/5.3.0 で実行されます。どちらのボックスも、Windows Server 2003、Apache/2.2、および GraphicsMagick 1.3.112 Q16 を実行します。
ライブ サイトで return code の例外が発生します1
。cmd.exe
開発サイトでは、タスクを強制終了するまで 0% の CPU を使用して、プロセスが永久にアイドル状態のままになる様子をランダムに確認できます。
これが外部ツールであることを考えると、次に何をすべきかについてのアイデアが尽きてしまいました。この問題のトラブルシューティング方法を教えてください。
更新 #1
関係のないコードの小さなバグを修正し、考えられるすべてのステップ (gm.exe
のアクティビティを含む-debug All
) ごとにファイルにログインしていますが、どこにも行きません。PHP は exec() 呼び出しに到達し、 gm.exe
何もせずに永久に実行され続けます。
アップデート #2
正確なコマンドが 2 つの方法で実行されています。ログ ファイルへのエコーはこれを示します:
Process Explorerで表示されるプロセス プロパティでは、コマンド ラインは次のようになります。
両方のコマンドを手動で実行できますが、式全体を二重引用符で囲まない限り、2 つ目のコマンドは (コマンド プロンプトからではなく) Start->Run からのみ実行されます。
いずれにせよ、サイズ変更された画像を常に取得し、gm によって生成されたデバッグ ログが正常に見えるため、コマンドが期待どおりに実行されることはかなり確信しています。最後の行は、停止するときと停止しないとき、常に次のようになります。
13:53:52 0:03 3.016u 2344 module.c/UnloadModule/2180/Configure: 「JPEG」モジュールをアンロード中 ...
完了時にプロセスが終了するのを妨げる何かがあるのではないかと思います:ウイルススキャナー、シェル拡張など...
全体が、修正する努力に見合う価値がなくなり始めています。ImageMagick またはプレーンな PHP 関数イメージに切り替えることを検討します。
アップデート #3
面白い... ImageMagick に切り替えましたが、まったく同じ問題が発生しています。そして、いつでも再現できます。ブラウザのタブを 2 つ開くだけです。
PHP からコマンドを実行する方法を忘れてしまったことは明らかです。純粋な PHP コードで画像のサイズを変更しようと思います。
command-line - Graphicsmagick32ビット画像を24ビットビットマップに強制的に変換する方法
すべての入力画像を強制的に24ビットbmp形式に変換したいと思います。gmコマンドラインのどのパラメータを追加する必要がありますか?
gm convert input.png -resize 1920x1080 out.bmp
png - graphicsmagick は、「一部の」PNG ファイルのサイズを 2 倍にしています
GraphicsMagick を使用して PNG ファイルを読み込み、別の名前で書き出すと、ファイル サイズが 2 倍以上に増加します。これは一部の PNG ファイルでのみ発生し、何が原因なのかわかりません。
問題例 PNG: http://www.google.co.in/logos/2011/verne-hp-3.png
不透明度チャネルを無効にすることから、さまざまな圧縮タイプを使用すること、インターレース タイプを変更することまで、あらゆることを試しましたが、この問題の原因を理解するのに役立つものは何もありません。
これを引き起こしている可能性のあるものについて何か提案があれば、あなたの助けを大歓迎します.
ありがとうございました。
image-processing - ファイルを書き出すときにアルファ値の tRNS チャンクを保持するように GraphicsMagick に指示する
PNG画像のファイルサイズを縮小するためにGraphicsMagickを使用しています。一部の PNG ファイルでは、ファイル サイズを最適化するために、アルファ値が tRNS チャンクで伝達されます。問題は、GM がこれらのファイルを RGBA PNG として書き出すことであり、アルファ チャネルを格納するためにさらに多くのスペースが必要になるため、ファイル サイズが大幅に増加します。
デフォルトでRGBAにするのではなく、GraphicsMagickまたはImageMagickに指定して元のアルファエンコーディングを使用する方法を知っている人はいますか?
imagemagick - ImageMagick / GraphicsMagick で複数のサムネイルを作成する
私は現在、Bash 用のシェルスクリプトを作成しています。これは、大量の大きな画像に対して異なるサイズのサムネイルを作成します。
GM/IM で 1 回の実行で複数のサイズのサムを作成し、同じ画像を何度も読み込んで異なるサムネイルを作成することを回避し、スクリプトの実行時にメモリと時間を節約できるかどうか疑問に思っていました。