PHP GD a průhlednost – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

PHP GD a průhlednost – PHP – Fórum – Programujte.comPHP GD a průhlednost – PHP – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
Míša
~ Anonymní uživatel
105 příspěvků
17. 1. 2010   #1
-
0
-

Ahoj,

už tři hodiny se snažím vytvořit funkci pro vodoznak s tím, že se bude vodoznak přizpůsobovat velikosti obrázku. Vodoznak bude v JPG nebo PNG a bude mít svou vlastní průhlednost a ještě bude mít nějakou průhlednost cca 75% kterou se bude prolínat s fotografií.

Vodoznak vkládám pomocí ImageCopyMerge s tím, že načtu fotku, načtu vodoznak a hodím ImageCopyMerge s průhledností 75%. Tohle funguje ale problém je v tom, že potřebuji vodoznak někdy upravovat - změnit jeho velikost než jej použiju na obrázek a to se mi už nedaří. Jakmile změním rozlišení vodoznaku tak se průhlednost "zruší".

Velikost měním pomocí ImageCopyResampled tak, že vytvořím prázdný obrázek požadované velikosti, uvedenou funkcí do něj zkopíruji zvětšený / zmenšený vodoznak. Pokud ale tento obrázek použiju dál na ImageCopyMerge pro vložení vodoznaku, původní průhlednost prostě nefunguje a na celý vodoznak je použita pouze průhlednost 75% zadaná v ImageCopyMarge.

Navíc se mi fakt nedaří najít na netu něco co by fungovalo.

Moc děkuji za pomoc...

Nahlásit jako SPAM
IP: 88.102.27.–
Reklama
Reklama
Curo
~ Šéfredaktor
+8
Hero
17. 1. 2010   #2
-
0
-

To Míša : Průhlednost lze nastavit samozřejmě pouze tehdy, je-li vodoznak typu PNG.

if($image_type==3) // PNG

{
imagealphablending($tmp, false);
imagesavealpha($tmp,true);
$transparent = imagecolorallocatealpha($tmp, 255, 255, 255, 127);
imagefilledrectangle($tmp, 0, 0, $tn_width, $tn_height, $transparent);
}

Kdy $tmp je
$tmp = imagecreatetruecolor($tn_width,$tn_height);

a $tn_width,$tn_height jsou požadované velikosti.

Až po tomto by mělo následovat imagecopyresampled.

Nahlásit jako SPAM
IP: 88.102.243.–
Guitar Hero Master, Project führer & zdejší čaroděj.
Sleduj mě na twitteru – @lukaschury.
Míša
~ Anonymní uživatel
105 příspěvků
17. 1. 2010   #3
-
0
-

To Curo : Takhle to používám ale asi dělám něco špatně. Jen abych to upřesnil, pokud použiju přímo ImageCopyMerge na dva obrázek kterej načtu přes ImageCreateFromJpeg a na vodoznak načtenej jako ImageCreateFromPng nebo ImageCreateFromGif tak to jede takhle, což je tak jak chci až na tu velikost:



Pokud udělám to samý ale změním velikost vodoznaku, dopadne to takhle:



Velikost vodoznaku měním takhle:

$WatermarkData = getimagesize( $WatermarkFileName );

$Watermark = ImageCreateTrueColor( 1280, 720 );
imagealphablending( $Watermark, false );
imagesavealpha( $Watermark, true );
$transparent = imagecolorallocatealpha( $Watermark, 255, 255, 255, 127 );
imagefilledrectangle( $Watermark, 0, 0, 1280, 720, $transparent );
ImageCopyResized( $Watermark, $WatermarkFromFile, 0, 0, 0, 0, 1280, 720, $WatermarkData[ 0 ], $WatermarkData[ 1 ] );

Nahlásit jako SPAM
IP: 88.102.27.–
Curo
~ Šéfredaktor
+8
Hero
17. 1. 2010   #4
-
0
-

Zkus místo f-ce ImageCopyResized použít imagecopyresampled.
Má stejné parametry.

Nahlásit jako SPAM
IP: 88.102.243.–
Guitar Hero Master, Project führer & zdejší čaroděj.
Sleduj mě na twitteru – @lukaschury.
Míša
~ Anonymní uživatel
105 příspěvků
17. 1. 2010   #5
-
0
-

Curo napsal:
Zkus místo f-ce ImageCopyResized použít imagecopyresampled.
Má stejné parametry.



To jsem taky zkoušel, ale dopadlo to stejně...

Nahlásit jako SPAM
IP: 88.102.27.–
Míša
~ Anonymní uživatel
105 příspěvků
18. 1. 2010   #6
-
0
-
Nahlásit jako SPAM
IP: 88.102.27.–
hrach
~ Redaktor
+1
Boss
18. 1. 2010   #7
-
0
-

nezbyva nez sahnout po imagick, preci jenom, chcit po php, aby pracoval s obrazky.. no, hm, :) není to přímo určený jazyk na to. tím ale nechci obhajovat bugy, který jsou navíc objevený....

Nahlásit jako SPAM
IP: 195.113.171.–
http://jan.skrasek.com@hrachcz – webdeveloper
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 24 hostů

Podobná vlákna

Průhlednost v IE — založil Pixtr

Průhlednost — založil hajnis

Pruhlednost — založil BigBear

Pruhlednost — založil wetty

Průhlednost okna — založil Marek Kadlčík

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý