Autor Zpráva
Fireous
Profil
Ahoj,

mám takýto problém.Vytváram script,ktorý vytvorí obrázok do podpisu do fór.Problém je v tom,že mám obrázok,ktorý má biele pozadie,toto pozadie je nastavené cez photoshop ako priehľadné.Najprv som zistil že PHP to ingnoruje,ale keď som to skúšal napraviť funkciamy ako sú imagetransparent,imacollorallocateaplha a podobne,tak to nefungovalo.Tu je súčasný nefungujúci kód :

<?php
header("Content-type: image/png");
$podpis = imagecreate(400, 64)
or die("Nejde");
imagecolorallocate($podpis, 0x00, 0x00, 0x00);
imagesavealpha($podpis, true);
$font = imageloadfont("MORPHEUS.TTF");
$rasa = imagecreatefromgif("0-1-1.gif");
$class = imagecreatefrompng("classes/rogue.png");
imagesavealpha($class, true);
$farbaPisma = imagecolorallocate($podpis, 0xff, 0xd7, 0x00);
$farbaCisla = imagecolorallocate($podpis, 0x00, 0x00, 0x00);
$biela = imagecolorallocatealpha($podpis, 0xff, 0xff, 0xff,127);
imagecolortransparent($class,$biela);
imagecopy($podpis,$rasa,0,0,0,0,64,64);
imagecopymerge($podpis,$class,0,44,0,0,20,20,100);
?>

časť nepodstatného kódu nie je uvedená

Jedná sa o obrázok s bielim pozadím naľavo v rohu : http://img18.imageshack.us/img18/5433/prototyp.gif

Kedže v práci s obrázkami ešte niesom celkom doma,osobne si myslím že problém je v tom,že neviem ako správne použiť tie funkcie,tak by som poprosil aby ste mi aj s odporúčaním,aké funkcie mám použiť,vysvetlili aj ako,v akom poradím a podobne.Vopred ďakujem za pomoc
AM_
Profil
Jsi si jistý, že v daných bodech je skutečně požadovaná barva (ff ff ff)? není to třeba ff ff fe? Pokud je tam průhlednost, kterou PHP ignoruje (nevím jistě, jen opakuji, co říkáš), zřejmě bys tam místo ní měl dát onu bílou.Kdoví, jestli photoshop ukládá průhlednou jako bílou s alfa kanálem ff, nebo ne?
Fireous
Profil
Teda podľa teba je problém tam,že stačí zistiť akou farbou definuje PS priehľadnosť definovať tú farbu v imagecolorallocatealpha?Inak by mal byť script v poriadku?
AM_
Profil
Mohlo by, ale může to být prakticky jakákoliv barva s R:xx G:xx B:xx A:ff. Já bych na tvém místě tu průhlednou v obrázku nahradil bílou - budeš vědět, na čem jseš. Průhledné PNG jsou hezká věc, ale podpora v programech je mizerná.
Fireous
Profil
áno,tiež mi to napadlo a tak som to hneď vyskúšal,ale bohužiaľ to nepomohlo
podľa mňa tam aj predtým bola biela,lebo asi nahradila tu priehľadnosť
teda budˇ to mám celé zle,alebo mám zle poradie funkcií,alebo neviem čo :D
AM_
Profil
zkus:
$biela = imagecolorallocatealpha($class, 0xff, 0xff, 0xff,127);
Fireous
Profil
bohužiaľ...mám pocit že riešenie je jednoduché,ale niečo mi tam stále uniká
Fireous
Profil
našiel som niečo takéto : http://www.bitrepository.com/image-transparency-with-gd.html len neviem či mi to pomôže vyriešiť problém

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0