Итак, все работает нормально.У меня есть исходный PNG, изменяющий размеры и правильно расположенный на созданном фоне, но другие области за пределами PNG становятся черными.Я получил прозрачность с помощью imagecolortransparent, но это делает края png неровными.
Вот то, что у меня есть на данный момент, это создание черных полос вокруг PNG.Имейте в виду, что я имею дело ТОЛЬКО с изображениями PNG здесь.
// TARGET IMAGE
$target = imagecreatetruecolor($this->request['width'], $this->request['height']);
imagealphablending($target, false);
imagesavealpha($target, true);
// SOURCE IMAGE
$source = imagecreatefrompng($this->src_image);
// RESAMPLING
imagecopyresampled($target, $source, $offsetX, $offsetY, 0, 0, $tnWidth, $tnHeight, $this->src_width, $this->src_height);
// FINAL IMAGE
imagepng($target, $source, $quality);
// MEMORY CLEAN UP
imagedestroy($source);
imagedestroy($target);
// PRODUCES SOMETHING LIKE THIS
+--------------------------------+
| BLACK AREA |
+--------------------------------+
| |
| RESIZED PNG |
| WITH TRANSPARENCY |
| |
+--------------------------------+
| BLACK AREA |
+--------------------------------+
// WHERE IT SHOULD HAVE THE BLACK AREAS TRANSPARENT AS WELL
+--------------------------------+
| TRANSPARENT |
+--------------------------------+
| |
| RESIZED PNG |
| WITH TRANSPARENCY |
| |
+--------------------------------+
| TRANSPARENT |
+--------------------------------+
Надеюсь, у кого-то есть опыт с этим, потому что все примеры, которые я нашел в Интернете, говорят только о изменении размера PNG на прозрачной BGтот же размер, который легко.
TIA