Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]rozmiary miniaturek w galerii zdjęc
Forum PHP.pl > Forum > Przedszkole
lamcpp
Jak ustalacie rozmiary miniaturek galerii zdjęć zrobionej w PHP (miniaturki tworzone za pomocą biblioteki GD)

Ja natrafiłem na taki wzór:
  1. if($size[0] > $size[1])
  2. {
  3. $thumbnail_width = 100;
  4. $thumbnail_height = (int)(100 * $size[1] / $size[0]);
  5. }
  6. else
  7. {
  8. $thumbnail_width = (int)(100 * $size[0] / $size[1]);
  9. $thumbnail_height = 100;
  10. }


Czyli w zależności od tego czy szerokość, czy wysokość jest większa ustala odpowiedni rozmiar.
Problem jest w tym, że ja chciałbym mieć miniaturki szerokości 135px (w przypadku gdy szerokość jest większa od wysokosci). Jak do tego obliczyc wysokość, oraz analogicznie stworzyć wysokośc i szerokość dla zdjęć, które mają większą wysokość niż szerokość. Przy ustalaniu szerokości wg tego wzoru (tzn podstawiając zamiast 100px - 135px) zdjęcia pionowe dobrze się nie skalują.
Jest do tego może jakiś lepszy wzór (chodzi mi o to żeby zdjęcie się skalowało dobrze).
f1xer
To zwykłe proporcje:
W - wysokosc
S - szerokosc

maxW - maksymalna wysokość
maxS - maksymalna szerokość

1. W > maxW - czyli zmieniasz wysokość na max i proporcjonalnie zmniejszasz szerokość
2. S > maxS - a tutaj odwrotnie szerokość ustawiasz na max a wysokość robisz proporcjonalnie

dla przykładu masz obrazek 350 x 300 i wiesz ze maksymalna szerokość miniatury to 100 czyli
masz proporcje

350 - 100
300 - x
--- mnożysz "na krzyż" ----
350x=30000
x= 30000/350

x - to nowa wysokość, no i teraz musisz jeszcze raz wykonać algorytm żeby sprawdzić czy nowa wysokość nie jest większa od maksymalnej
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.