問題タブ [node-imagemagick]

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.

0 投票する
1 に答える
1573 参照

node.js - node-imagemagick を使用して、S3 にアップロードされた画像を「トリミング」する

ユーザーが画像をアップロードし、それを正方形に切り取ることができる機能を構築しています (プロフィール写真など)。

現在、プロセスは次のように機能します。

  • ユーザーが hd から画像を選択
  • 画像はS3にアップロードされます
  • S3 パスがビューに戻され、jCrop を含む画像が表示されます
  • 送信ボタンがクリックされると、コントローラーアクションは上記の座標セットを取得します

ここで、この画像を指定された座標にトリミングしたいと思います(注-「オフセット」が含まれているため、node-imagemagickのlpattersフォークを使用しています

残念ながら、.crop はパスのみを受け入れますが、この時点では S3 でホストされているため、パスはありません。

回避策はありますか?

tmpを見ましたが、これは少しやり過ぎかもしれませんか?

0 投票する
2 に答える
10673 参照

node.js - nodejsが機能しないimagemagick

node-imagemagickライブラリを使用して画像のサイズを変更しようとしていますが、機能しません。

サイズ変更に使用しているコードは

エラーをスローします

0 投票する
0 に答える
584 参照

imagemagick - バッファーを入力として、stdout を出力として、node-imagemagick でトリミングする方法は?

node-imagemagick を初めて使用しています。免責事項: 私は imagemagick を使用したことがなく、javascript の専門家でもありません。ほとんどの経験は C/C++、Objective-C です。

入力バッファーを取得し、それを任意の境界に切り取り、それを stdout に出力する必要があるサーバー側プロセスのスニペットを作成しています。

現在、私のコードは次のようになっています。

私は自分の入力が良いことを知っています... imagemagick の「サイズ変更」ルーチンでこれを行いました。「cropStr」は文字列「100x100+10+10」です。任意の値をここに入力します。

しかし、それでも stderr にエラーが返されます。

画像フォーマット����' @ error/constitute.c/ReadImage/532.\nconvert: option requires an argument-crop' @ error/convert.c/ConvertImageCommand/1081.\n"

出力形式を設定すると思われる「-format」引数を入れてみました。しかし、それは議論について不平を言います。

ここで明らかな何かが欠けているように感じます。画像内の任意の長方形にトリミングすることはそれほど難しくありません。

どんな助けでも大歓迎です。

0 投票する
2 に答える
13794 参照

node.js - imagemagick nodejs npm をお探しですか?

node-imagemagickを数日間使用していますが、バグがあることに気付きました。

約 100 のフォークがあり、そのうちのいくつかは私が遭遇した問題のいくつかを修正しますが、どのフォークを使用すべきかを理解するのは困難です。

0 投票する
1 に答える
436 参照

node.js - NodeImageMagickのサイズ変更はファイル名を保持しません

多くのソリューションは、mogrifyを使用することを指しています。これは、Nodejsの実装の一部である場合にうまく機能します。画像のサイズを変更してファイル名を保持するだけですが、それらを別の「サイズ変更された」フォルダーに配置します。これが私がここで行っていることです(coffeescriptで、DocPad静的Webサイトジェネレーターのプラグインとして):

その結果、画像のサイズが適切に変更され、正しいフォルダに配置されますが、名前自体は「-0.jpg、-1.jpg、-2.jpg」などになります。DocPadの本格的なプラグインではなく、私たち自身の特定の用途のためにこれを書いていますが、うまく機能していれば、一般的な用途のために間違いなく変更できると思います。

助けてくれてありがとう!

ありがとう

0 投票する
0 に答える
945 参照

bash - node.js に bash PATH を使用させる

node.js から imagemagick の「識別」を使用しようとしていますが、機能していません。を使用してimagemagickをインストールしました

/usr/local/bin/identify などにあります。

次のようにサーバーを起動するスクリプトを作成しました。

ターミナル (Mac OS X 10.7) からスクリプトを実行すると、出力は次のようになります。

ただし、後でスクリプトidentifyが見つかりませんでした。インストールされていて、パスなどにあることを確認してください。

node.js imagemagick モジュールは を呼び出しますchildproc.spawn('identify', args);

node.js で bash スクリプトと同じ PATH を使用するにはどうすればよいですか?

0 投票する
1 に答える
7567 参照

imagemagick - Visual Studio を使用した ImageMagick

Visual Studio 2010 でサンプルの ImageMagick プログラムを作成しようとしています。ImageMagick のコマンド ライン インターフェイスを使用できるため、システムには ImageMagick のバイナリ ディストリビューションが既にインストールされています。

しかし、C++ プログラムに "Magick++.h" をインクルードしようとすると、ソース ファイルを開けないと表示されます。

ソースから ImageMagick をコンパイルおよびビルドする手順を見つけましたが、Visual Studio プロジェクトの設定を変更して、既にインストールされているバージョンの ImageMagick から必要な参照/ライブラリを選択できるようにすることはできますか?

0 投票する
1 に答える
12029 参照

imagemagick - ImageMagick サンプリング係数

画像の jpeg 圧縮に ImageMagick コマンド ライン ツールを使用しています。ただし、サンプリング係数の役割を理解しようとしています。サンプリング係数は、ブロックサイズ、つまり 8x8 または 16x16 を指定するために使用されます。ただし、このパラメーターを省略した場合に使用される既定値が見つかりません。

また、次のコマンドを使用して画像のプロパティを取得しようとしました。

識別 -verbose image.jpg

サンプリング係数の値を 1x1、1x1、1x1 として表示します。どういう意味ですか?8x8 または 16x16 または 32x32 のいずれかである必要があります。

これらの詳細をどこで見つけることができるか、誰か教えてください。

0 投票する
1 に答える
404 参照

imagemagick - ImageMagick JPEG 圧縮ブロック サイズ

ImageMagick による JPEG 圧縮で使用される処理ブロック サイズ (8x8 または 16x16 ??) を知っている人はいますか? また、このデフォルトのブロック サイズを変更する方法はありますか?

0 投票する
3 に答える
5898 参照

node.js - ノードの非同期GraphicsMagick

ノードにGraphicsMagickを使用しています。私は基本的に写真をトリミングし、ユーザーがアップロードした写真のexifデータを取得します。これらのタスクが完了するのを待っているリクエストの流れをブロックしたくないので、非同期関数を使用する必要があります。そして、これらはnode.js自体が非同期にするI / O操作であるため、できるはずだと思います。

しかし、ノードのGraphicsMagickのすべての関数が同期関数であることがわかります。そのため、探しているものをどのように達成するかについて確信が持てません。

私の頭に浮かぶ 1 つのアイデアは、コールバックを使用して関数を記述し、GraphicsMagick 処理をその内部で実行することです。そして、.nextTick() 関数を使用して非同期フローを実現します。しかし、これでいいのかどうかは完全にはわかりません。また、GraphicsMagick の非同期関数もあります。

グラフィックマジックから非同期関数を取得する方法について、サンプルコードをいただければ幸いです。