GDを直接使用するPHPコードをデバッグしようとしていましたが、大規模なイメージや、GDを窒息させる小さなエラーがあるような画像のサブセットでは失敗しました。
しかし、私はphpThumb(http://phpthumb.sourceforge.net/)を見つけました。私は戻っていません。私のウェブディレクトリ(phpthumb.class.php
とphpthumb.functions.php
)への2つのPHPファイルを追加した後、私は私のサムネイルを生成するには、次のコードを使用することができました:
include("phpthumb.class.php");
// Load data into phpThumb object and set parameters
$phpThumb = new phpThumb();
$phpThumb->setSourceData(file_get_contents($_GET['filename']));
$phpThumb->setParameter('w', $width); // Set width
$phpThumb->setParameter('h', $height); // Set height
$phpThumb->setParameter('zc', 1); // Specify zoom-crop (instead of stretch)
$phpThumb->setParameter('q', 100); // Specify quality
// Generate & output thumbnail
$phpThumb->GenerateThumbnail(); // Generate the thumbnail
$phpThumb->OutputThumbnail(); // Output it to browser
$phpThumb->RenderToFile("$thumbname"); // Output it to file
$phpThumb->purgeTempFiles(); // Clean up
ブーム、魔法のように動作し、非常に高速で、大規模での問題がありませんファイル。また、サーバ上で利用可能なものに応じて、GDかImageMagickのどちらかを使うことができるので、比較的移植性があります。
ImageMagickを使用すると、読み込み時のサイズ変更を効率的に行うことができます。詳細については、この回答を参照してください。http://stackoverflow.com/questions/12661/efficient-jpeg-image-resizing-in-php/4613341#4613341 –