この記事では、imagemagick と gd ライブラリの処理をサポートする PHP で実装されたサムネイル生成クラスとその使用例について説明します。これは非常に実用的です。参考のためにみんなで共有してください。詳細は以下の通りです
1. 機能:
1. 比例的に縮小/拡大します
2. 背景色を塗りつぶします
3. エリアごとに切り抜きます
4. 透かしの位置、透明度などを含む透かしを追加します
imagemagick/GD ライブラリを使用して実装、imagemagick アドレス: www.imagemagick.org
Imagemagick をインストールする必要があります。インストール方法は次のとおりです。 http://www.bkjia.com/article/55528.htm
2.実装方法:
PicThumb.class.php クラスファイルは次のとおりです:
デモのサンプルコードは次のとおりです:
この記事の完全なサンプルコードをダウンロードするには、ここをクリックしてください。
この記事が皆様のPHPプログラミングのお役に立てれば幸いです
このクラス phpthumb を試してください
ImageMagick を使用してサムネイルを生成するように phpthumb を設定します
phpthumb は、jpg、bmp、gif、png およびその他の形式での画像生成をサポートする非常に強力なサムネイル生成クラスです。 PHP プロジェクトであっても他のプロジェクトであっても、PHP ホストがある限り、phpthumb を使用してプログラミングを便利にすることができます。リモート画像生成もサポートしているためです。
phpthumb は ImageMagick とともに使用できるため、PHP のメモリ サイズによる制限がなくなり、GIF アニメーションも生成できます。 phpthumb に ImageMagick を使用して画像を生成させる方法について話しましょう。
Win プラットフォームか Linux プラットフォームに関係なく、phpthumb はデフォルトで ImageMagick を有効にしますが、いくつかの小さな設定エラーやプログラムの問題があります。最初のステップは、ImageMagick プログラムをインストールすることです。 php_imagick PHP 拡張機能をインストールする必要はありません。 phpthumb はコマンドラインを使用するため、php がプロセスを実行できる必要があります。そうでない場合は、別のホストを選択してください。インストール後、以下の手順でphpthumbを修正してください。
1. phpThumb.config.php を開き、
if (strtoupper(substr(PHP_OS, 0, 3)) == 'WIN') {
// Windows: 絶対パス名を設定します
$PHPTUMB_CONFIG['imagemagick_path'] = ' C :/Program Files/ImageMagick-6.6.0-Q16/convert.exe';
} else {
// *nix: 絶対パス名を "convert" に設定するか、パスに "convert" が含まれる場合は null のままにしておきます ( `this` で検出された場所)
//$PHPTUMB_CONFIG['imagemagick_path'] = '/usr/local/bin/convert';
$PHPTUMB_CONFIG['imagemagick_path'] = null;
}
上記の $PHPTUMB_CONFIG[' を変更しますimagemagick_path '] をインストールの正しいパスに変更します。全部で2か所あり、1つ目は窓際のホームです。 2 つ目は、LINUX および UNIX プラットフォーム用です。システムに基づいて設定を選択してください。上の赤い部分は ImageMagick のパスです。置き換える場合、ディレクトリの区切り文字は \ ではなく / であることに注意してください。
2. phpThumb.class.php を開きます
この近くに関数 ImageMagickVersion($returnRAW=false) を探します
if (eregi('^Version: [^0-9]*([ 0-9\\.\ \ :Q/]+) (http|file)\:', $versionstring[1], $matches)) {
if (eregi('^Version: (.+) (http|file)\:' に置き換えます, $versionstring[1], $matches)) {
OK すべての設定が完了しました。phpthumb は自動的に ImageMagick を使用して画像を生成しました...残りの全文>>
私は ImageMagick を使用したことがありません。通常は組み込みの GD ライブラリを直接使用していますが、あなたが指摘した深刻な歪みの問題は見つかりませんでした。
GD ライブラリを使用してサムネイルを作成する一般的な考え方は次のとおりです:
設定されたサイズに基づいてトゥルー カラー キャンバスを作成します $im=createtruecolor(120,90);
元のファイル サイズを読み取り、それに応じて計算します元のサイズの幅と高さの比率に合わせます サムネイルのサイズ (指定された寸法から多少異なる場合があります)
作成した True Color サムネイル キャンバスに元の画像をコピーして拡大縮小します。
サムネイルファイルを出力します。
おそらく、この本当の色を使用しており、サムネイル効果が問題ないからかもしれませんが、完全に歪みがないという意味ではありません。