Forum Webscript.Ru

Программирование => PHP => Тема начата: AlieN от 07 Июля 2006, 14:24:54

Название: PNG логотип на картинку
Отправлено: AlieN от 07 Июля 2006, 14:24:54
Есть картинка, на которую надо воткнуть логотип, который частями прозрачен.



Логотип:
(PNG 24-бита) http://people3000.ru/i/logos/logo_blue_24_photoshop.png
(PNG 8-бит) http://people3000.ru/i/logos/logo_blue_8_photoshop.png

Исходная картинка:
http://up.li.ru/?id=196525;%D4%EE%F2%EE014.jpg

Сурс:
     $logo = ImageCreateFromPNG("blue.png");
$a1= GetImageSize("blue.png");
$fr = ImageCreateFromJPEG($file_from);
$f=ImageCreateTrueColor(imagesx($fr),imagesy($fr));
ImageCopy($f,$fr,0,0,0,0,imagesx($fr),imagesy($fr));
ImageDestroy($fr);
$a2 = GetImageSize($file_from);
ImageCopy($f, $logo, 0, 0, 0, 0, $a1[0], $a1[1]);
ImageJPEG($f,$file_to,70);


Что получаем:
Логотип PNG8 - http://up.li.ru/?id=196527;result_png_8.jpg
Логотип PNG24 - http://up.li.ru/?id=196528;result_png_24.jpg


Есть идеи как исправить ?
Название: PNG логотип на картинку
Отправлено: AlieN от 07 Июля 2006, 14:26:24
т.е. результат при наложении PNG24 практически идеален, только там есть маленькие неровности, вот как бы их исправить?
Название: PNG логотип на картинку
Отправлено: AlieN от 07 Июля 2006, 14:45:28
thx to metaller
Цитировать
попробуй сохранять жпег с качеством 90 и выше. иначе ГД сильно поганит всё.

Работоспобочный вариант:

$logo = ImageCreateFromPNG("blue.png");
        $a1= GetImageSize("blue.png");
        $fr = ImageCreateFromJPEG($file_from);
        $f=ImageCreateTrueColor(imagesx($fr),imagesy($fr
));
        ImageCopy($f,$fr,0,0,0,0,imagesx($fr),imagesy($f
r));
        ImageDestroy($fr);
        $a2 = GetImageSize($file_from);
        ImageCopy($f, $logo, 0, 0, 0, 0, $a1[0], $a1[1]);
        ImageJPEG($f,$file_to,90);