Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > PHP склеивание 2-х Gif - ок


Автор: VoAnt 20.3.2005, 17:38
ПОСТАНОВКА ЗАДАЧИ
Есть 2 файлика в папке со скриптом: 1.gif, 2.gif (2.gif - прозрачен но имеет графический елемент)

ВОПРОС:
Как средствами PHP склеить эти два файлика?

Автор: Illuminaty 20.3.2005, 18:16
Наложить друг на друга или соединить?

Автор: VoAnt 20.3.2005, 18:25
Код


<?
header ("Content-type: image/gif");
$img = imagecreatefromgif("1.gif");
$img2 = imagecreatefromgif("2.gif");

imagecopy($img, $img2, 0, 0, 0, 0, 100, 100);

imagegif($img);
imagedestroy($img);
imagedestroy($img2);
?>



Так работает но с потерей качества
нужно чтоб сохранялось качество цветов ...

Автор: Irokez 20.3.2005, 18:45
у первого гифа свои цвета, у второго свои, при копировании первого во второй его цвета меняются на ближайщие цвета второго гифа,
надо создать чистое изображение (ImageCreateTrueColor()), а затем в него копировать первый и второй гифы

Автор: Illuminaty 20.3.2005, 19:52
Я попробовал с gif - действительно потеря качества
А с png - все OK!
Код

    $im1 = imagecreatefrompng("1.png");
    $im2 = imagecreatefrompng("2.png");
    imagecopy($im1, $im2, 0, 0, 0, 0, 200, 200);
    imagepng($im1);
    imagedestroy($im1);
    imagedestroy($im2);


Может заменить формат у изображения?

Автор: VoAnt 20.3.2005, 20:03
Пасибки ... Всё работает ...

Код

<?php
header ("Content-type: image/gif");

$img = imagecreatefromgif("1.gif");
$img2 = imagecreatefromgif("2.gif");

$im = imagecreatetruecolor(100, 100);
imagecopy($im, $img, 0, 0, 0, 0, 100, 100);
imagecopy($im, $img2, 0, 0, 0, 0, 100, 100);

imagegif($im);

imagedestroy($img);
imagedestroy($img2);
imagedestroy($im);
?>


Ура!!!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)