|
|
|
| С помощью GD библиотеки создано изображение $im.
Далее из файла вводится изображение $im_2, содержащее синий предмет на белом фоне (цвет фона виден в фотошопе - 255, 255, 255). Это изображение накладывается на изображение $im_1.
Но прежде, чем произвести наложение, нужно фон изображения $im_2 сделать прозрачным. И это не удается.
Общий код такой:
$im_2 = imagecreatefromgif("21.gif"); // Вводим избражение 2
$black = imagecolorallocate($im_2, 255, 255, 255);
imagecolortransparent($im_2, $black);
$width = max(imagesx($im_2), imagesx($im));
$height = max(imagesy($im_2), imagesy($im));
$destination = imagecreatetruecolor($width, $height);
imagecopy($destination, $im, 0, 0, 0, 0, imagesx($im), imagesy($im));
imagecopymerge($destination, $im_2, 0, 0, 0, 0, imagesx($im_2), imagesy($im_2), 100);
|
Что здесь неверно? | |
|
|
|
|
|
|
|
для: Владимир55
(22.01.2015 в 21:15)
| | В индексной палитре сделать цвет прозрачным, это указать индекс ячейки этого цвета как прозрачный. Таким образом можно вообще "переключать" цвет а палитровом изображении, чего в truecolor сделать нельзя, ибо не факт, что в фотошоп вы видите цвет 255, 255, 255, и этот же цвет будет на изображении в этой ячейке, не говоря уже о соседних. | |
|
|
|