![]() |
![]() |
![]() ![]()
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: 302 Pomógł: 24 Dołączył: 6.12.2008 Ostrzeżenie: (0%) ![]() ![]() |
W czwartej klasie podstawówki były chyba proporcje
Cytat I jak idealnie ustawić odstęp od lewego i prawego rogu obrazka biorąc pod uwagę obrazki =500 , <500, >500 odstęp od czego? Ten post edytował sada 21.08.2011, 13:34:40 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 23 Pomógł: 0 Dołączył: 24.07.2010 Ostrzeżenie: (0%) ![]() ![]() |
Odstęp od ramki, ramkę generuje $max czyli wartość 500 + 50 aby uzyskać idealne wyśrodkowanie odstęp od lewej ustawiam na 25 ale gdy obrazek jest mniejszy od 500 całe wyśrodkowanie nie działa a nie chcę generować z rozmiaru obrazka bo wtedy na napis miejsca nie ma
|
|
|
![]()
Post
#4
|
|
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 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 23 Pomógł: 0 Dołączył: 24.07.2010 Ostrzeżenie: (0%) ![]() ![]() |
Wielkie dzięki za naprowadzenie na rozwiązanie (IMG:style_emoticons/default/biggrin.gif)
Oto efekt końcowy mojego skryptu: (IMG:http://zrzucaj.co.cc/upload/default.jpeg-3050-628.jpeg) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 26.09.2025 - 19:21 |