首页 > 解决方案 > Laravel imagecopy 降低图像质量

问题描述

我正在编写一个 Laravel 项目,在该项目中,我让用户将自己的小图像添加到更大的图像中(例如milliondollarhomepage.com)。我使用 PHPimagecopy();将小图像添加到更大的图像中。问题是:将两张图像合并在一起后,颜色变得很差。我认为新图像只有以前图像的颜色,因此不能向图像添加新颜色。

我的代码:

$pixel = GET_INFO_HERE;

$dest = imagecreatefrompng(public_path('storage/pixels.png'));//get big image
$src = imagecreatefrompng(public_path('storage/uploads/' . $pixel->imagename));//get small image to add

imagecopy($dest, $src, $pixel->x_position, $pixel->y_position, 0, 0, $pixel->width, $pixel->height);

ob_start();
imagepng($dest);
$newpixelsimg = ob_get_clean();

Storage::put('public/pixels.png', $newpixelsimg);//save new image

imagedestroy($dest);
imagedestroy($src);

我尝试imagetruecolortopalette($dest, false, 255);在该imagecopy();方法之前使用,但它没有改变任何东西。

我一直在寻找解决方案很长时间,但我还不能让它工作。
有没有人对此有解决方案?

标签: phplaravel

解决方案


推荐阅读