průhledný obrázek
13 příspěvků
Archiv diskusního fóra
Fórum je uzavřené a slouží pouze ke čtení. Některé informace mohou být zastaralé.
-
Zdravim vsechny potreboval bych vytvorit pomoci PHP pruhledny obrazek, ale vubec nevim jak. muzete mi prosim poradit ? Dekuji.
-
To není vůbec žádný problém.. ale záleží na pár věcech - primárně výsledný obrázek musí být ve formátu, který průhlednost podporuje (png,gif). A potom už stačí použít jednu z funkcí: imagealphablending() - více php.net/imagealphablending imagecolortransparent() - více php.net/imagecolortransparent První použiješ v případě, že celý obrázek vytváříš v php - například pokud výsledkem má být jen obrázek s textem, tak touhle funkcí nastavíš pozadí na průhledné a ostatní věci (např. viditelný text) pokládáš přes to. Druhou použiješ v případě, že nějaký obrázek načítáš, nebo máš nějaký složitější vzor. Funguje tak, že zvolenou barvu (jeden z parametrů), změní na průhlednou. Tady si musíš jen dávat pozor na to, aby se "barva do průhlednosti" v obrázku nevyskytovala i jinde, než chceš průhlednost.
-
Dekuju, ale asi nekde delam chybu pac pozadi je porad cerne.. stvoril sem tenhle kod.. <? $obr = imagecreatetruecolor(500, 500); imagealphablending($obr, true); $logo = imagecreatefrompng("bg.png"); imagecopyresized($obr, $logo, 270, 170, 300, 200, 30, 30, 30, 30); imagepng($obr, 'neco.png'); imagedestroy($obr); ?> vysledek by mel byt pruhledny obrazek 500x500 s nazvem neco.png ve kterym by mel byt umisten obrazek bg.png v nejake velikosti a na nejake pozici....
-
Jaj.. já jsem to předtím špatně napsal.. sry.. Zapnutím alphablendingu pomocí funkce imagealphablending() se původní pozadí nesmaže, pouze se umožní to, že další vrstvy (například text, vložený obrázek) můžou být částečně průhledné - třeba jen z 50%. Budeš potřebovat imagecolorallocatealpha().. tvůj skript stačí upravit tak, že po vytvoření obrázku jen zavoláš: $black = imagecolorallocate($im, 0, 0, 0); imagecolortransparent($obr, $black);
-
a na co to potrebujes? ono ked das priehladnost nejakej farbe a okraje nepriehladnosti neosetris antialiasingom, tak to budes mat kostrbate. nestacilo by ti nastavit polopriehladnost v css-ku?
-
"polopriehladnost v css-ku" - a to umí cross-browserově?
-
R.U.R. (jsrosa.wz.cz) Pokud ty browsery minis IE8, FF (,O) , pak je odpoved ano. Proc se ptas?
-
Hm, jaké zastupení má aktuálně IE8? (ne, neodpovídej, ta byla řečnická)
-
http://toplist.cz/global.html v IE 7 a neco i v 6 to funguje take. V souctu 15+20+15+40%, to mame 50% pro ie a 40% pro G. Pokud tohle nevis, tak nepokladej ani recnicke otazky.
-
Že se vám do toho pletu, ale když vidím "jeden o voze, druhý o koze".. To, čeho lze docílit s průhledností v png se nedá udělat jen s css. Css sice umožní udělat (polo)průhledný obrázek, ale neumožní udělat průhledný třba jen pravý okraj (protože má jít "do ztracená"). To, jestli někdo považuje zápis jedné vlastnosti na 4 řádky... opacity: 0.6; filter: alpha(opacity=60); -moz-opacity: 0.6; -khtml-opacity: 0.6; ...jako cross-browserový je už věc jiná (a pro mě to cross-browserové není).
-
To se tušim dá řešit částečně průhlednou obrázkovou maskou s černobílým přechodem - ovšem jen někdy... Slušné nové verze slušných prohlížečů podporují normální opacity, takže cross-nově-browserově to není problém :-)) Ale pokud by mi na tom záleželo, tak bych si ještě pár let počkal, než bych to někam nasadil...
-
Freeze (dreamer.kvalitne.cz) DXImageTransform.Microsoft.Gradient Na slayer office je na to JS, ktery prida par divu a provede rozdilny gradient pro opacitu. Dalo by se pres JS doprogramovat univerzalne pomoci opacity a clip. Nicmene rec byla o "polopriehladnost v css-ku" - a to umí cross-browserově? Ne o gradientu. Aspon ja chapu slovo polopruhledny jako opacity=50.
-
peta: Gradient byl příklad, ten teoreticky jde (i když cross browserově asi jen s javascriptem). Třeba vlnkový okraj už ale bude několikanásobně složitější (a bez javascriptu a použití masky obrázku to asi vůbec nepůjde). Nicméně řeč původně nebyla o "polopriehladnost v css-ku" ale o průhledném obrázku. A jak jsem už jednou napsal, zápis 1 vlastnosti na 4 řádky pro mne není dostatečně cross-browser...