Поэтому я пытаюсь использовать библиотеку php gd, чтобы обрезать края моего изображения, но у меня возникает проблема, когда фон становится черным при каждом сохранении изображения.
Я уже пробовал это:
$background = imagecolorallocate($cropped, 0, 0, 0);
imagecolortransparent($cropped, $background);
imagealphablending($cropped, false);
imagesavealpha($cropped, true);
и он отлично работает с исходным изображением, однако, когда я пробую этот код на обрезанном изображении, ничего не происходит.
Вот полный код:
// Handle image manipulation.
$testImage = imagecreatefrompng($filePath);
imagealphablending($testImage, false);
imagesavealpha($testImage, true);
$cropped = imagecropauto($testImage, IMG_CROP_SIDES);
$background = imagecolorallocate($cropped, 0, 0, 0);
imagecolortransparent($cropped, $background);
imagealphablending($cropped, false);
imagesavealpha($cropped, true);
//$scaled = imagescale($cropped, 512, 512);
imagepng($cropped, $newFilePath);
Всякий раз, когда я менял переменную изображения на $ testImage в функции imagepng, мое изображение сохранялось с прозрачным фоном, но стороны не обрезались, как хотелось бы, однако, если я изменяю переменную на $ cropped, фон становится черным. IMG_CROP_SIDES - единственный режим, который действительно работал для обрезки сторон моего изображения.