PHP高级图像调整大小,类似于iOS调整图像的大小
问题描述:
我需要一个PHP页面,它将拍摄一张图像并调整大小以适应Apple iOS的操作,这真的很奇怪,但我一定会添加一些示例。它的功能是拍摄图像,并将图像的两半放在相对的两侧,然后用中间开始的2像素填充中间,从较小的一个中创建较大的图像。 这里说的是到PHP函数发生的事情:PHP高级图像调整大小,类似于iOS调整图像的大小
,将由PHP这样的输出:
我不是很好用PHP和GD所以我根本不知道如何开始这种事情。但是图像需要调整到320px的宽度,高度将保持不变。非常感谢能写这种图像处理代码的人。
答
在这里你去:
function MagicStretch(&$image,$newwidth)
{
$width=imagesx($image);
$height=imagesy($image);
$halfwidth=round(($width-2)/2);
$new=imagecreatetruecolor($newwidth,$height);
imagecopyresized($new,$image,$halfwidth,0,$halfwidth-1,0,$newwidth-($halfwidth*2),$height,2,$height);
imagecopy($new,$image,0,0,0,0,$halfwidth,$height);
imagecopy($new,$image,$newwidth-$halfwidth,0,$width-$halfwidth,0,$halfwidth,$height);
imagedestroy($image);
return $new;
}
$image = imagecreatefrompng('whatever.png');
$image = MagicStretch($image,320);
imagepng($image,'whatever_new.png');
你,是一个PHP GD神。这工作,正如我需要它的工作,非常感谢你 –
没问题。我很高兴它的工作,因为我没有测试它。 – Alasdair
哦,我需要添加 'imagealphablending($ new,false); imagesavealpha($ new,true);' 之后你定义$新,所以它与透明 –