3

200x100 の画像があり、100x50 にサイズ変更するとします。

// imagick
$imagick->resizeImage($width, $height, Imagick::FILTER_UNDEFINED, 1)

// gd
$image = imagecreatetruecolor($width, $height);
imagecopyresampled($image, $src, 0, 0, 0, 0, $width, $height, imagesx($src), imagesy($src)))

しかし、画像を120x120にしたいです。キャンバスをそのサイズに拡張するにはどうすればよいですか?ただし、サイズを変更したばかりの画像を同じサイズで中央に保持しますか? Photoshop の画像 - >キャンバスサイズのようなもの

4

1 に答える 1

4
// make the canvas, fill it with $color
$canvas = imagecreatetruecolor(120, 120);
imagefilledrectangle($canvas,0,0,120,120,$color);

// get the image from file...
list($width, $height) = getimagesize('myimage.jpg');
$img = getimagefromjpg('myimage.jpg');

// resample image and place it in center of canvas
$x = intval(($width - 100) / 2);
$y = intval(($height - 50) / 2); 
imagecopyresampled($canvas, $img, $x, $y, 0, 0, 100, 50, $width, $height);

// output etc. ...
于 2013-04-14T11:53:36.443 に答える