Как заменить прозрачный фон картинки на белый средствами php?

Пользователь

от ally , в категории: PHP , год назад

Как заменить прозрачный фон картинки на белый средствами php?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от marshall.cummings , 10 месяцев назад

@ally 

Вы можете использовать библиотеку GD для изменения прозрачности фона изображения на белый цвет. Ниже приведен простой пример кода:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
// Открываем исходное изображение
$source_img = imagecreatefrompng('original.png');

// Создаем новое изображение с белым фоном
$new_img = imagecreatetruecolor(imagesx($source_img), imagesy($source_img));
$white_color = imagecolorallocate($new_img, 255, 255, 255);
imagefill($new_img, 0, 0, $white_color);

// Копируем исходное изображение на новое, заменяя прозрачный фон на белый
imagecopymerge($new_img, $source_img, 0, 0, 0, 0, imagesx($source_img), imagesy($source_img), 100);

// Сохраняем новое изображение в файл
imagepng($new_img, 'new.png');

// Освобождаем память
imagedestroy($source_img);
imagedestroy($new_img);


В этом примере мы используем функции imagecreatetruecolor() и imagefill() для создания нового изображения с белым фоном. Затем мы используем функцию imagecopymerge() для копирования исходного изображения на новое, заменяя прозрачный фон на белый. Наконец, мы сохраняем новое изображение в файл с помощью функции imagepng().