Autor | Zpráva | ||
---|---|---|---|
ReVolt Profil |
Ahoj, chci do obrázku vložit vodoznak, ale mám s tím malý problém, vodoznak se vloží, ale chybně.
Když je vodoznak ve formátu .gif tak se vloží a aplikuje se na něj průhlednost (má průhledné pozadí ale chci ho ještě zesvětlit), ale pod ním a vpravo od něj je obrázek zešedlý a když jsem to zkouše s .png tak bylo šedé i to průhledné pozadí. function vodoznak($obrazek) { $original = imagecreatefromjpeg($obrazek); $vodoznak = imagecreatefromgif("grafika/vodoznak.gif"); imagealphablending($original, false); imagesavealpha($original, true); list ($sirka, $vyska) = getimagesize($obrazek); list ($sirka_vodoznak, $vyska_vodoznak) = getimagesize("grafika/vodoznak.gif"); //umisteni vodoznaku $sirka_umisteni = ($sirka / 2) - ($sirka_vodoznak / 2); $vyska_umisteni = $vyska - ($vyska_vodoznak + 25); imagecopymerge($original, $vodoznak, $sirka_umisteni, $vyska_umisteni, 0, 0, $sirka, $vyska, 35); imagejpeg($original, $obrazek, 90); imagedestroy($original); imagedestroy($vodoznak); } nevidím tam chybu :( |
||
Keeehi Profil |
#2 · Zasláno: 30. 7. 2012, 13:01:07
Bez řádků 4 a 5 to taky nefunguje?
|
||
ReVolt Profil |
#3 · Zasláno: 30. 7. 2012, 13:29:54
bohužel ne, hledal jsem na internetu a našel spoustu různých řešení ale nedaří se mi to zprovoznit
|
||
Keeehi Profil |
#4 · Zasláno: 30. 7. 2012, 13:54:57
$image = imagecreatefromjpeg("./soubor.jpg"); list($width, $height) = getimagesize("./soubor.jpg"); $image_out = imagecreatetruecolor($width, $height); imagecopy($image_out, $image, 0, 0, 0, 0, $width, $height); $image_wm = imagecreatefrompng("./watermark.png"); list($width, $height) = getimagesize("./watermark.png"); imagecopy($image_out, $image_wm, 0, 0, 0, 0, $width, $height); |
||
ReVolt Profil |
nepomohlo, vodoznak jsem si vytvořil v GIMPu tak nevím čím to může být nebo v čem to mám vytvořit
|
||
Ugo Profil |
#6 · Zasláno: 30. 7. 2012, 14:24:58
tak sem myslel jak tam mám pár věcí navíc a všechno to bylo kvůli změně velikosti toho vodoznaku. bez toho to mám taky jen createfrom*(), copy. obrázky dělám v gimpu a všechno funguje (alespoň png). Nicméně pokud zmenšuju vodoznak, tak před kopií abych to měl pěkně průhledné mám toto
$watermark = imagecreatetruecolor($watermark_width, $watermark_height); imagesavealpha($watermark, true); $trans_color = imagecolorallocatealpha($watermark , 0, 0, 0, 127); imagefill($watermark , 0, 0, $trans_color); pak copyresampled dostředu obr. a všechno fajčí |
||
ReVolt Profil |
#7 · Zasláno: 30. 7. 2012, 14:52:25
no já vkládám vodoznak do obrázků ,které zmenším, vodoznak nezmenšuju, zkoušel jsem to i bez zmenšení a pořád to blbne, vodoznak se vykreslí i s průhledností, ale pod ním a vpravo od něj je obrázek zešedlý
|
||
Keeehi Profil |
#8 · Zasláno: 30. 7. 2012, 15:07:34
imagecopymerge($original, $vodoznak, $sirka_umisteni, $vyska_umisteni, 0, 0, $sirka_vodoznak, $vyska_vodoznak, 35); |
||
ReVolt Profil |
#9 · Zasláno: 30. 7. 2012, 15:37:28
Keeehi:
no to si ze mě děláš srandu, prošel jsem si kód snad stokrát, ale tohle jsem přehlédl, taková blbá chyba :), moc díky |
||
Keeehi Profil |
#10 · Zasláno: 30. 7. 2012, 15:45:37
ReVolt:
Takže ten kód v [#4] jsi vůbec nezkoušel co? Tam jsou ty rozměry správně a problémy by ti to nedělalo. Když už se někdo snaží ti pomoct, stálo by za to alespoň to řešení vyzkoušet! |
||
ReVolt Profil |
#11 · Zasláno: 30. 7. 2012, 16:15:47
Zkoušel, jen jsem tam naházel moje proměnné, ale zase blbě :)
|
||
Časová prodleva: 12 let
|
0