web-dev-qa-db-ja.com

最高PHP画像クロップクラス

私はウェブサイトをデザインしていますが、次のことを行う必要があります。

  • 画像をアップロードする
  • それが画像であることを確認します(そして、私にはわかりません....ウイルス:))
  • 画像のサイズを変更する
  • jpgに変換

基本的に基本的な画像のアップロード

自分で書く代わりに、phpクラスを見つけようとしています。これは、Jeff Atwoodが言ったように、 "盗むことができるものを決して設計しないでください "

私が調査をしなかったので、先に進んで反対票を投じる前に、私はしました:

これをグーグルで検索すると、大量の結果が表示されますこれが問題です。どの結果が有用でどれがゴミかわかりません!

これまでのところ、私は見つけました:

これらのクラスの経験はありますか?優れた画像アップロードクラスをお勧めできますか?

21
Tomas

私は、ファイルのアップロード部分をカバーする、ある記述または別の記述のフレームワークを使用する傾向があります。ただし、トリミングビットに関する推奨事項はありますか。

想像してみてください- https://github.com/avalanche123/Imagine

また、アップローダーを単なる入力type = fileよりも少しだけ良くしたい場合は、次のことを試してください。

https://github.com/valums/file-uploader

13
benlumley

私の個人的なお気に入りの画像操作ライブラリは WideImage です。そのようなタスクを実行するのは途方もなく簡単になります。

WideImage::load('pic.png')
->crop('center', 'center', 90, 50)->saveToFile('cropped/pic.jpg');

実際に画像であるかどうかの検証については、 finfo または PEAR::Mime_type を使用してください。私は個人的に PEAR::Mime_Type を好みます。 finfoを使用しますが、使用する方が簡単です。

finfoの使用

$finfo = finfo_open(FILEINFO_MIME_TYPE);
$mimetype = finfo_file($finfo, $filename);

$isImage = (preg_match('#^image/#', $mimetype) === 1);

PEAR::Mime_Typeを使用する:

$mimetype = MIME_Type::autoDetect($filename);

$isImage = MIME_Type::wildcardMatch('image/*', $mimetype);
17
Andrew Moore

JCROPプラグインをチェックしてください

これはすべての人に役立ちます

JCROP画像のトリミング----deepliquid.com/content/Jcrop.html

enter image description here

5
Nikz

Colin Verotからのクラスのアップロード http://www.verot.net/php_class_upload.htm が私のお気に入りです。私はすべてのプロジェクトで使用しています。クラスに「話しかける」方法と同じように、必要なものだけを使用しますが、正確なニーズに合わせて微調整するための構成/メソッドをたくさん提供します。素晴らしいクラス!

4
Hans Kerkhof

これもあります PHPで書かれた軽量画像操作ライブラリ 呼び出されますZebra_Image非常に小さく、無数の関数で肥大化することはありません 優れたドキュメント で、高度に最適化され、積極的に維持されているものは絶対に使用しないでください。

4
Stefan Gabos

Smart Image Resizerの使用をお勧めします http://shiftingpixel.com/2008/03/03/smart-image-resizer/

サイズ変更後に最高の画質が得られます

使い方はとても簡単です。画像キャッシュを使用します。

2
adam pery

SimpleImage をお勧めします。これは非常にシンプルで、ファイルが1つだけで、更新されます。

使用例:

$img = new SimpleImage('image.jpg');

// Resize the image to 320x200
$img->resize(320, 200);

$img->save('new-image.jpg');
2

MVC PHPフレームワークに移行する場合は、 Codeigniter を強くお勧めします。

ページネーション、テーブル、セキュリティ、フォームなどを処理する他のいくつかのクラスとライブラリに加えて、CIには非常に便利で柔軟なNiceアップロードクラスと画像操作クラスもあります。私は彼らがあなたが必要とするすべてをすることができると信じています(jpg変換についてはよくわかりません)。

あなたはそれらをチェックアウトすることができます:

画像操作クラス

ファイルアップロードクラス

1
pepe

この画像の切り抜きを使用していますが、うまく機能していません

シンプルPHP画像の切り抜き

0
YasirPoongadan