![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 23 Pomógł: 0 Dołączył: 24.07.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witajcie, pisze skrypt podobny do demotywatorów i mam problem dotyczący odstępu od ramki oraz skalowania.
Oto kawałek mojego kodu
I mam wielką prośbę jak inteligentnie skalować rozmiar obrazka bo np obrazek 1600x1200 zmienia szerokość poprawnie ale strasznie rozjeżdża wysokość dlatego szukam wzoru na skalowanie obrazka taki jak np GIMP'ie gdy podamy max szerokość automatyczne dostosowuje wysokość. I jak idealnie ustawić odstęp od lewego i prawego rogu obrazka biorąc pod uwagę obrazki =500 , <500, >500 Z góry dziękuję (IMG:style_emoticons/default/wink.gif) |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 527 Pomógł: 438 Dołączył: 28.06.2011 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Ok zasada jest prosta:
Musisz sobie na stałe założyć czy idziesz na height czy width. Jedna z tych wartości musi być określona jako maksymalna. Jeżeli ustawisz width na na przykład 500px to większego być nie może i wtedy musisz skalować height tak aby było proporcjonalne do width. Przykład: Ustalamy, że maksymalny width to 500px. Ktoś wrzuca zdjęcie o rozmiarze 1000x600px.
Zatem obrazek będzie przeskalowany na $newW x $newH (IMG:style_emoticons/default/wink.gif) Matematyka jest prosta: NOWA_WYSOKOŚĆ = STARA_WYSOKOŚĆ x (NOWA_SZEROKOSC/STARA_SZEROKOSC). Innymi słowy mnożysz oryginalną wysokość obrazka przez stosunek nowo ustalonej szerokości do oryginalnej szerokości ;P Jak width utniesz o pół to i proporcjonalnie o to samo musisz obciąć height aby tzw aspect ratio był zachowany (IMG:style_emoticons/default/wink.gif) EDIT: zapomniałem o tej ramce... Zasada też jest prosta. Dla mniejszych obrazków jak i dla tych co się mieszczą proponuje zrobić tak: Powiedzmy że szerokość wyjściowego obrazka to też 500px i chcesz mieć minimum marginesy na 50px. Stosujesz metodę przedstawioną przeze mnie wyżej dla większych obrazków ale dla $maxW = 400 (no bo marginesy mają mieć po 50 a 500-2x50 = 400). Dla mniejszych w ogóle nie musisz jej stosować. I teraz tak. Wartość X gdzie ma być wstawiony obrazek to nic innego niż:
gdzie $w = to wyjściowa szerokość oryginalnego obrazka (po ewentualnym użyciu metody #1) Tyle (IMG:style_emoticons/default/wink.gif) HTH (IMG:style_emoticons/default/wink.gif) Ten post edytował Sephirus 21.08.2011, 21:01:32 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 17.10.2025 - 16:22 |