Я объединил два изображения. Первое изображение всегда будет белого цвета, расширение PNG и размер - 1200 пикселей x 628 пикселей. Размер второго изображения - 1000 пикселей x 495 пикселей. Но когда я объединяю эти изображения, тогда белое изображение преобразуется в черное изображение. и показывают, что фон второго изображения черный. Пожалуйста, помогите мне решить эту проблему и смените черное изображение на белое изображение.
Добавьте ниже строки в свой код, ваша проблема должна быть решена,
imagealphablending($new_image, false);
imagesavealpha($new_image, true);
$transparent = imagecolorallocatealpha($new_image, 255, 255, 255, 127);
imagefilledrectangle($new_image, 0, 0, $width, $height, $transparent);
Только для вашей справки, полный исходный код для изменения размера изображения,
function resize($width,$height) {
$new_image = imagecreatetruecolor($width, $height);
if ($this->image_type == IMAGETYPE_PNG){
imagealphablending($new_image, false);
imagesavealpha($new_image, true);
$transparent = imagecolorallocatealpha($new_image, 255, 255, 255, 127);
imagefilledrectangle($new_image, 0, 0, $width, $height, $transparent);
}
imagecopyresampled($new_image, $this->image, 0, 0, 0, 0, $width, $height, $this->getWidth(), $this->getHeight());
$this->image = $new_image;
}
OP
использует GD2
для работы с изображениями?
GD2
илиImageMagick
показать ваш код тоже ??