PHPのGDライブラリーを使ってみる

適当に作ったPHP7.3の環境で行いました。php8の動作は確認してません。まずはそのphpのバージョンでGDが使えるか確認します。

$ php -r "phpinfo();" | grep GD
GD Support => enabled
GD Version => bundled (2.1.0 compatible)

こういう感じになっていたら使えます。
利用できる拡張子はPhotoshopみたいにはいかないので結構しょぼいです。jpgとpngが使えれば事足りると思います。

.png
.gif
.jpeg(.jpg)
.xbm
.bmp

Hello world的なことをやってみる

画像の縦横の長さを取得してみる。

<?php
list($width, $hight) = getimagesize('test.jpg');
echo $width."\n";
echo $hight."\n";

実行すると、長さが表示されます。
画像を小さくしてみます。

<?php
list($o_width, $o_height) = getimagesize('test.jpg');
$define = 1280;
$rate = 70;
echo $o_width."\n";//1340
echo $o_height."\n";//1080
if ($o_width > $o_height) {
  echo "yoko\n";
  $c_width = $define;
  $c_height = round(($c_width * $o_height) / $o_width);
}

$baseImage = imagecreatefromjpeg('test.jpg');
$canvas = imagecreatetruecolor($c_width, $c_height);
imagecopyresampled($canvas, $baseImage, 0, 0, 0, 0, $c_width, $c_height, $o_width, $o_height);
imagejpeg($canvas ,'new.jpg', $rate);
imagedestroy($canvas);

  • News

  • Categories

  • Tags

  • Archives

  • Page index