3

私は最近、phpでimagemagickを使い始めましたが、IMとPHPの両方で比較的新しいです。だから、私はいくつかの助け/提案を求めるためにここにいます。

初め

ユーザーが私のサイトにgifまたはpng画像をアップロードし、それをjpgに変換したい場合、たとえばのようなコマンドはありますか。$image->convert($file,'.jpg) または、convertコマンドはexec()?を介してのみアクセスできます。たとえばexec(convert picture.pngpicture.jpgのように)

2番

繰り返しになりますが、ユーザーがサイトにgif / pngをアップロードし、画像のサイズを指定された幅/高さに変更して、IMのwriteImage関数を使用して次のように画像を書き込みます。where $image->writeImage(basename.$ext)= $extjpg。これは適切に機能しますか?これは良い習慣ですか?名前を変更するだけだと思いますが、それでも問題はありません... oO

申し訳ありませんが、もう1つ質問があります。私は、execにあまり詳しくありません。imagemagickを使用する方が良いexec()ですか、速度や負荷などが向上しますか?

4

2 に答える 2

4

私はあなたの質問に直接答えることはできませんが、私はあなたにいくつかのリソースを指摘すると思いました:

execとPHP拡張のどちらが優れているかについて、私は数か月前に同じ質問をしました。

ImageMagickにPHP拡張機能を使用する必要がありますか、それともPHPのExec()関数を使用してターミナルコマンドを実行する必要がありますか?

すべてのImageMagickPHP関数については、公式ガイドを参照してください。

http://www.php.net/manual/en/book.imagick.php

パフォーマンスが良いと聞いたので、ImageMagickからGraphicsMagickに切り替えました。パフォーマンスを重視したImageMagickのフォークです。FlickrやEtsyのような大規模なサイトはそれを使用しています:

http://www.graphicsmagick.org/

このガイドは私を始めました:

http://devzone.zend.com/1559/manipulating-images-with-php-and-graphicsmagick/

そして、彼らはphp.netに独自のマニュアルを持っています:

http://php.net/manual/en/book.gmagick.php(ほとんどのコマンドはImage Magickのものと同じです)

于 2012-05-12T21:45:15.067 に答える
1

exec()は、Imagick(投稿したサンプルコード)よりもはるかによくサポートされており、使いやすく、Imagickではサポートされていないすべての演算子(バージョンによって異なります)をサポートしているため、私はexec()を使用することを好みます。一部のImagickコードは、バージョンによって動作が異なります。Imagickの例は、私が最初に見始めた数年前よりもはるかに多くあります。

Imagickはより速くなる可能性があり、そうなる可能性があると言っていますか?一部の人々はそれをインストールするのに問題がありますが、phpに組み込まれています。

このサイトhttp://valokuva.org/?cat=1はImagick開発者のものであり、多くの例があります。

私のサイトwww.rubblewebs.co.uk/imagemagickには、exec()を使用したphpの例がたくさんあります。

他の2つの質問については、はい、Imagickを使用してファイルの種類を変更できますが、basename。$ extについてはよくわかりません。試してみませんか?basenameに拡張子がない限り、機能する可能性がありますが、basename。$extを引用符で囲む必要がある場合があります。

速度に関しては、GDの方が速い場合もあれば、ImagickやImagemagickの場合もあります。あなたはいつでもいくつかのテストを行うことができます。私は1年ほど前にやりましたが、サーバーでコードを試すことができます。http://www.rubblewebs.co.uk/imagemagick/speed/Speed_tests_1.pdf

于 2012-05-12T21:58:40.997 に答える