我有一张尺寸为88x31的图片,并希望在没有调整实际图像尺寸的情况下将其设为100x100,而只调整其画布/框架,可以将其复制到100x100尺寸的新空白图像的中心。任何想法怎么做?
答案 0 :(得分:8)
正确的方法是创建一个新图像,然后将旧图像复制到其中间(假设起始图像是JPEG且小于100x100):
$oldimage = imagecreatefromjpeg($filename);
$oldw = imagesx($oldimage);
$oldh = imagesy($oldimage);
$newimage = imagecreatetruecolor(100, 100); // Creates a black image
// Fill it with white (optional)
$white = imagecolorallocate($newimage, 255, 255, 255);
imagefill($newimage, 0, 0, $white);
imagecopy($newimage, $oldimage, (100-$oldw)/2, (100-$oldh)/2, 0, 0, $old, $oldh);
答案 1 :(得分:6)