通过PHP文件裁剪图像



所以我有一个原来是1696x1696的图像。我想使用一个php文件MIME png文件。我想让PHP做的是裁剪原始文件并生成图像的四分之一。后来我计划使用$_GET变量来返回我想要的象限,但对于测试/调试,我的目标只是获得左上角的象限。

代码如下:

Header("Content-type:image/png");
$newImg =imagecreatefrompng('test.png'); 
//manually entered half height and width
$img=imagecreatetruecolor(848,848);
//here is where the bugs keep flawing the image
imagecopyresampled($img,$newImg,0,0,0,0,1696,1696,1696,1696);
imagepng($img); 
imagedestroy($img);

将生成图像(顶部,左侧),就像它应该的那样,但是它在上面添加了几个较小的重新采样的图像。不管我怎么玩弄它,我都做不好。我也试过imagecopy(),也不能把它弄对。查看教程,我似乎找不到任何帮助。

您的代码看起来很好。我唯一要改变的是在这个用例中使用imagecopyresized()而不是imagecopyresampled()

Header("Content-type:image/png");
$source = imagecreatefrompng('images/test.png'); 
// manually entered half height and width
$thumb  = imagecreatetruecolor(848,848);
imagecopyresized($thumb, $source, 0, 0, 0, 0, 1696, 1696, 1696, 1696);
imagepng($thumb); 
imagedestroy($thumb);

我猜在你之前的测试中,你覆盖了你的原始图像。这就解释了……

然而,它在上面添加了几个较小的重新采样图像…

…这是你经历的一部分。每次运行代码时,您都会取出先前修改过的文件。

好了,所以在经历了足够的头痛和头发撕裂之后,我决定回到photoshop,用我原来的。psd覆盖。png。现在开始有所进展了。我得到了我的象限,而不是所有的荒谬。当我更好地理解时,我可能会回来解释我一直出错的地方

最新更新