ホームページ > バックエンド開発 > PHPチュートリアル > PHP 画像をトリミングおよびズームして、ニーズを満たすサムネイルを生成する_PHP チュートリアル

PHP 画像をトリミングおよびズームして、ニーズを満たすサムネイルを生成する_PHP チュートリアル

WBOY
リリース: 2016-07-21 15:14:11
オリジナル
886 人が閲覧しました

画像が大きすぎるため、JavaScript で表示制御を完了する必要があり、表示効果が悪く、既存の画像ライブラリの画像を一度処理する必要があります。スケッチに示すように、クライアント側で JS によって実行された元の作業は、PHP の GD ライブラリを使用して集中処理のためにサーバー側に転送されます。

画像のソースと必要なサイズ:

コードをコピーします コードは次のとおりです:

$src_img = "wallpaper.jpg";
$dst_h = 200;

画像を切り取り、画像領域が最大化され、指定されたサイズに拡大縮小されていることを確認します。

最初は imagecopyresize メソッドを使用して画像を比例的に縮小しましたが、実際に操作した後、縮小後の画像が非常に乾燥していることがわかりました。次に、imagecopyresampled メソッドに切り替えます (ここで言っておきますが、インターネット上にはこの記事の再版がたくさんありますが、どれも imagecopyresampled を imagecopysampled と書いていて、使用できなくなるため、これを再投稿しました)。このメソッドは画像を再サンプリングし、画像のサイズを小さくして、鮮明さを大幅に向上させます。


コードをコピーします コードは次のとおりです:
list($src_w,$src_h)=getimagesize($src_img) // 元の画像サイズを取得します
$dst_scale = $ dst_h/$dst_w; // ターゲット画像のアスペクト比
$src_scale = $src_h/$src_w; // 元の画像のアスペクト比
if($src_scale>=$dst_scale)
{
// 高すぎます
$w = intval( $src_w) ;
$h = intval($dst_scale*$w);
$y = ($src_h - $h)/3;
else
// 幅が広すぎます
$ h = intval ($src_h);
$w = intval($h/$dst_scale);
$y = 0; =imagecreatefromjpeg( $src_img);
$croped=imagecreatetruecolor($w, $h);
imagecopy($croped,$source,0,0,$x,$y,$src_w,$src_h);
$scale = $dst_w/$w;
$target = imagecreatetruecolor($dst_w, $dst_h);
$final_h = intval($h*$scale); imagecopyresampled($ target,$croped,0,0,0,0,$final_w,$final_h,$w,$h);
//
$timestamp = time() を保存します。 .jpg" );
imagedestroy($target);
?>


とても便利なので皆さんにも使っていただければ幸いです。



http://www.bkjia.com/PHPjc/326362.html

www.bkjia.com

tru​​e

http://www.bkjia.com/PHPjc/326362.html
技術記事
画像が大きすぎるため、表示制御を JavaScript で行う必要があり、表示効果が悪く、既存の画像ライブラリの画像を更新する必要があります。 ..

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート