Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] losowe rozmieszczenie obrazkow
Forum PHP.pl > Forum > PHP
BartazZ
witam!
Mam do napisania skrypt ktory losowo rozmiesci mi obrazki na obszarze 40x1000px. Najmniejszym obrazkiem jaki moze byc to obrazek 10x10px a maksymalna wielkosc to 40x240px. Ma ktos pomysl jak to rozwiazac? chcialbym aby obrazki losowaly sie tak aby nie bylo przerw miedzy nimi(w miare mozliwosci)
shpyo
Jednym z rozwiązań jest generowanie styli do obrazków czyli:
  1. <img src="adres_obrazka.jpg" alt="" style="position:fixed;top:XXX;right:XXX;bottom:XXX;left:XXX;"/>


Automatyczne generowanie może być kłopotliwe, bo może się zdażyć tak, że obrazki będą na siebie nachodziły. Dlatego warto zrobić sobie coś co będzie przechowywało te dane np. w takiej kolejności:

Kod
obrazek1.jpg||wysokosc||szerokosc||_x_||_y_
obrazek2.jpg||wysokosc||szerokosc||_x_||_y_
BartazZ
Tylko nadal pozostaje problem tego zeeby obrazki miescily sie w rzedach np ja wezme wylosuje obrazki o wysokosciach 30 i20 to wyjda mi poza obszar dozwolony czyli 40px.
Pigula
podziel obrazki na grupy np:
Gr I: wysokosc 10px
Gr II: wysokosc 20px
Gr III: wysokosc 30px
Gr IV: wysokosc 40px
i jak wylosujesz obrazek z grupy I to losuje teraz z grupy III. jezeli obrazki moga miec wysokosc np. 23px to to zadanie bedzie karkolomne bo ja wylosujesz jakis obrzek to musisz pamietac ile jeszcze miejsca zostalo losujesz drugi i jak pasuje to wklejasz jak nie to musisz albo losowac kolejny i tak az do skutku (wersja czasochlonna) albo wklejasz jako nastepny i gdziesz zapisujesz ze masz wolne miejsce i jak trafisz odpowiedni obrazek to go tam wstawiasz. tylko ze zostaje jeszcze problem szerokosci i mniej wiecej te same rozwazanie winksmiley.jpg moze poczytaj jak programisci systemow operacyjnych rozwiazuja fragmentacje pamieci ram. to mniej wiecej podobny problem.
BartazZ
bralem takie rozwiazanie pod uwage jak i wiele innych:P ale niestety zadne nie wydaje sie byc niekarkolomne :/

to co piszesz jest dosc dobre tylko co z szerokoscia robic w takim przypadku?nawet jezeli bede to jakos zapamietywal to sie bardzo bardzo bardzo pokomplikuje
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.