ホームページ > バックエンド開発 > PHPチュートリアル > PHPサムネイルの白い端を埋めるサンプルコード

PHPサムネイルの白い端を埋めるサンプルコード

WBOY
リリース: 2016-07-25 08:54:59
オリジナル
1033 人が閲覧しました
  1. //ソース画像のパス(ローカルファイルまたはリモート画像にすることができます)

  2. $src_path = '1.jpg';
  3. //最終的に保存された画像の幅
  4. $width = 160 ;
  5. //最終的に保存される画像の高さ
  6. $height = 120;

  7. //ソース画像オブジェクト

  8. $src_image = imagecreatefromstring(file_get_contents($src_path));
  9. $src_width = imagex($ src_image);
  10. $src_height = imagey($src_image);

  11. //同じ比率のサムネイルを生成します

  12. $tmp_image_width = 0;
  13. $tmp_image_height = 0;
  14. if ($src_width / $ src_height >= $width / $height) {
  15. $tmp_image_width = $width;
  16. $tmp_image_height =round($tmp_image_width * $src_height / $src_width);
  17. } else {
  18. $tmp_image_height = $height;
  19. $tmp_image_width =round ($tmp_image_height * $src_width / $src_height);
  20. }

  21. $tmpImage = imagecreatetruecolor($tmp_image_width, $tmp_image_height);

  22. imagecopyresampled($tmpImage, $src_image, 0) , 0, 0, 0, $tmp_image_width, $tmp_image_height, $src_width, $src_height);

  23. //白いエッジを追加します

  24. $final_image = imagecreatetruecolor($width, $height);
  25. $ color = imagecolorallocate($final_image, 255, 255, 255);
  26. imagefill($final_image, 0, 0, $color);

  27. $x =round(($width - $tmp_image_width) / 2);

  28. $y =round(($height - $tmp_image_height) / 2);

  29. imagecopy($final_image, $tmpImage, $x, $y, 0, 0, $ tmp_image_width, $tmp_image_height) ;

  30. //出力画像

  31. header('Content-Type: image/jpeg');
  32. imagejpeg($final_image);

コードをコピー


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