Jak obrazku udelat okraj
21 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é.
-
Potreboval bych nutne poradit, jak mam obrazku udelat okraj (to neni presne muj problem, ale da se takhle vyresit). Delam obrazkovou galerii na principu: naskenuju adresar s obrazkama, potom zkotroluji, zda maji nahled a jestli ne, tak ho vytvorim. A ja chci, kdyz ho vytvorim, aby vsechny nahledy meli stejny rozmer, nejaky predem dany. Ten nastavim, vznikly prostor vyplnim nejakou predem danou barvou. Pokud v tuto chvili obrazek ulozim, vzinke jednobarevna plocha o spravnych rozmerech, ktere jsem zadal. Pokud ale pokracuju dal obrazky v plnem rozliseni do otevreneho obrazku zmensim pomoci fce ImageCopyResampled tak, aby se nezdeformovali, tzn - zjistim si podle ktereho rozmeru je mam zmensovat a udelam tak - a pote otevreny obrazek ulozim, tak vysledek (sic je zmenseny ve spravnem pomeru a obrazky nejdou zdeformovane) tak obsahuje jen obrazek, ne tu barevnou plochu, kterou jsem tam chtel. Poradte mi prosim, jak mam ulozit celou plochu, nejenom zmensenou cast obrazku :( Dekuji
-
cesky by to neslo, co?
-
-M&N- Ještě jednou a pomalu, prosím... ;)
-
:), no, proste potrebuju, aby se mi pri zmenseni obrazku udelal okolo nich okraj nejake predem dame barvy
-
A nešlo by obarvit pomocí CSS pozadí buňky nebo DIVu v ktré (m) by se náhledy obrázků zobrazovaly? Předpokládám, že výsledek by měl mít stejné rozměry, bez ohledu na poměr stran náhledu, jinak by šlo dát obrázkům jen rámeček.
-
ne, poterebuju ten ramecek dat primo do obrazku
-
to je blbý...
-
ja jsem si myslel, ze by mohlo fungovat tohle: vytvorim obrazek pomoci ImageCreateTrueColor a nastavim potrebne rozmery i s tim okrajem, ktery tam chci, potom tento obrazek vyplnim pomoci ImageFill barvou toho okraje a nakonec do teto plochy vytvorim nahled pomoci ImageCopyResampled. Jenomze pokud tento obrazek ulozim, tak PHP se vykasle na nejake nastavene rozmery, ale ulozi jen tu zmenseninu obrazku :(
-
taky bych to udelal... <IMG style="border:2px solid red;" src="...
-
znovuu opkuju, ze to potrebuju primo do obrazku
-
A nač? Jaký je smysl, když to na webu můžeš upravit kaskádovým stylem? Přímým přidáním blbinek do obrázku pouze zvětšíš jeho velikost.
-
Protoze nechci delat okraj, ale neco jinyho, co jsem psal v prvnim prispevku. Me se to blbe vysvetluje a tohle je naprosto presnej problem - akorat okraj pridavam jen na jednu stranu podle toho, kde je to potreba "vytmelit" aby naheldy meli stejny rozmer
-
stačí ti 5 fcí: imagecreatefromjpeg/gif/png - otevřeš velký obraz imagecreate - vytvoříš malý obraz imagecolorallocate - nastavíš malému pozadí (budoucí okraj ("tmel")) imagecopyresampled - zkopíruješ velký do malého a zmenšíš ho imagejpeg/gif/png - malý uložíš ----- to samé jde i přez css
-
jóóóóóó, tak jsem si taky myslel, že to bude. ale není ;) (jinak bych nepsal :) >imagecreatefromjpeg/gif/png - otevřeš velký obraz V pohodě >imagecreate - vytvoříš malý obraz V pohodě >imagecolorallocate - nastavíš malému pozadí (budoucí okraj ("tmel")) V pohodě (pokud v tuto chvíli malý obraz uložím, má psrávné rozměry a pozadí) >imagecopyresampled - zkopíruješ velký do malého a zmenšíš ho V pohodě >imagejpeg/gif/png - malý uložíš Tady to troskotá - ukládá se mi jen ta zmenšená část, nikoliv to pozadí. Pokud zmenšeninu při kopírování "vychýlím" (posunu v x a y), tak se dokonce stane, že se zmenšenina odřízne a na prázdném místě vznikdne černé místo (i když pozadí mám např červené) Tak a teď babo raď :)
-
Jinak pochopitelně díky za snahu, ale prostě to nefunguje :(
-
Ja by som na to pouzil funkciu na kreslenie priamok. Jednu priamku nalavo, napravo, hore a dole. Myslim ze sa ta funkcia vola "imagefilledrectangle()".
-
Safo: priamky, ciary => imageline() obdlznik => imagefilledrectangle() myslel si asi to druhe ale to kresli obdlzniky, nie priamky :)
-
Som sa pomylil. :-P
-
Safo: nj, hlavne je ze vsetci pochopili :)
-
Použij prostě nějaký grafický editor, který pracuje s vrstvami. První vrstva bude podklad, druhá vrstva obrázek. Potom dát sloučit vrstvy a máš obrázek včetně "okrajů". Proč to neudělat složitě - když to jde !
-
no, moc jsem gd knihovny neprolízal, ale třeba v imagemagic existuje "skládání" obrázku za sebe nebo nad sebe. Jestli nejde něco podobného v gd. Jako levý pruh jeden obrázek složit s vygenerovaným obrázkem a ještě pravý pruh jako další obrázek a celé dílo připjit hornímu pruhu a spodnímu pruhu.....