ホームページ >バックエンド開発 >PHPチュートリアル >php_PHP チュートリアルでの高解像度サムネイル作成の詳細な使用方法

php_PHP チュートリアルでの高解像度サムネイル作成の詳細な使用方法

WBOY
WBOYオリジナル
2016-07-13 10:45:42920ブラウズ

高解像度のサムネイルを作成するためのphpチュートリアルと詳細な使用方法

1. imagecreatetruecolor 関数と imagecopyresampled 関数を使用して、それぞれ imagecreate と imagecopyresize を置き換えます
2. imagejpeg の 3 番目のパラメータに 100 を加算します (例: imagejpeg($ni,$tofile,100))

imagecreatetruecolor -- 新しい True Color イメージを作成します
説明
リソース imagecreatetruecolor (int x_size, int y_size)
imagecreatetruecolor() は、サイズ x_size と y_size の黒い画像を表す画像識別子を返します

*/

header ("content-type: image/png");
$im = @imagecreatetruecolor (50, 100)
さもなければ死ぬ (「新しい gd イメージ ストリームを初期化できません」);
$text_color = imagecolorallocate ($im, 233, 14, 91);
imagestring ($im, 1, 5, 5, "単純なテキスト文字列", $text_color);
imagepng ($im);
画像破壊 ($im);

/*


通常の imagecreate() 関数を使用すると画質が乱れます。解決方法をインターネットで検索しました。その方法は、imagecreate() 関数を imagecreatoruecolor() 関数に置き換えることです。
*/

function createpreview($img,$name,$path,$maxwidth,$maxheight,$quality){//画像、保存名、保存パス、最大幅、最大高さ、品質
$widthratio=0;
$heightratio=0;
$width=imagesx($img);
$height=imagesy($img);
//減速比の計算を開始します
if($width>$maxwidth||$height>$maxheight){
if($width>$maxwidth){
$widthratio=$maxwidth/$width;
}
if($height>$maxheight){
$heightratio=$maxheight/$height;
}
if($幅比>0&&$高さ比>0){
if($幅比 $ratio=$widthratio;
}その他{
$ratio=$heightratio;
}
}elseif($widthratio>0){
$ratio=$widthratio;
}elseif($heightratio>0){
$ratio=$heightratio;
}
//取得した比率に基づいてサムネイルの幅と高さを再計算します
$newwidth=$ratio*$width;
$newheight=$ratio*$height;
$newimg=imagecreatetruecolor($newwidth,$newheight) // ターゲット画像を作成します
imagecopyresize($newimg,$img,0,0,0,0,$newwidth,$newheight,$width,$height);
imagejpeg($newimg,$path."s_".$name,$quality);
imagedestroy($newimg);
}その他{
imagejpeg($img,$path."s_".$name,$quality);
}
}
/*

imagecopyresamples() を使用すると、そのピクセル補間アルゴリズムによって取得された画像のエッジはより滑らかで品質が高くなります (ただし、この関数の速度は imagecopyresize() よりも遅くなります)。

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

tru​​ehttp://www.bkjia.com/PHPjc/633003.html技術記事高解像度のサムネイルを作成するための PHP チュートリアルの詳細な使用方法 1. imagecreatetruecolor 関数と imagecopyresampled 関数を使用して、それぞれ imagecreate と imagecopyresize を置き換えます 2. imagejpeg の 3 番目のパラメーターを持ってきます...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。