Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Skalowanie obrazków
Forum PHP.pl > Forum > PHP
WebProm
Witajcie

Chciałem zapytać jak odbywa się skalowanie obrazków do pewnych rozmiarów. TZN chodzi mi o to, że np. interia ma na stronie głównej 2 obrazki zachęcające do oglądania galerii jednak zawsze te obrazki mają rozmiar 120x70 i maja zachowane proporcje.... jak to się odbywa ? Mam własny skrypt, który zmniejsza obrazki zachowując proporcje przy jednej podanej zmiennej np. width = 200 ale jak jest dużo obrazków to nie wyjdą one w idealnie takie same(te miniaturki) tak więc albo rybki albo akwarium...
Jak zrobić żeby obrazki były automatycznie skalowane do 120x70 oraz zachowywały proporcje ?
JoShiMa
Nie wiem czy dobrze zrozumiałam. Ja skalowanie robię tak:

  1. <?php
  2. $rozmiar = GetImageSize('zdjecie.jpg');
  3. $max = 120; // rozmiar dłuższego boku
  4. if($rozmiar[0]>$rozmiar[1]){
  5. $wspolczynnik = $rozmiar[0]/$max;
  6. }else{
  7. $wspolczynnik = $rozmiar[1]/$max;
  8. }
  9. $szerokosc = (int)($rozmiar[0]/$wspolczynnik);
  10. $wysokosc = (int)($rozmiar[1]/$wspolczynnik);
  11. $class = ' style="width:'.$szerokosc.'px; height:'.$wysokosc.'px;"';
  12. echo '<img src="zdjecie.jpg" alt="miniatura" '.$class.' />';
  13. ?>


Skaluje się z zachowaniem proporcji.
WebProm
Nie o to chodzilo sad.gif Skalować zdjęcie potrafie ale chodzi mi o to że jak user dodaje zdjęcia to ddaje w róznych rozmiarach i automatycznym skalowaniem nie da się (albo właście moje pytanie brzmi czy się da) tak przeskalować żeby i zachować proporcje i żeby obrazek miał konkretny rozmiar 120x70.

Przykładowo obrazek który ma 500x300 jak przeskalujemy z zachowaniem proporcji na wys 70 to np. będzie width 140 a nie 120... a jak wymusze 120 to zepsuje się wysokość.... jak wymusze 120x70 to zepsuje się skalowanie.... jak pogodzić jedno z drugim?
Poprostu chcialem mieć na stronie dwa losowe obrazki w jednakowych rozmiarach ale z zachowaniem proporcji i tu jest prolem.

Mam nadzieje że teraz napisałem jasniej :-)
JoShiMa
Cytat(WebProm @ 1.04.2008, 21:38:17 ) *
tak przeskalować żeby i zachować proporcje i żeby obrazek miał konkretny rozmiar 120x70.

Nie, jeśli user wrzucił obrazek o innych proporcjach. Musiałbyś obcinać w locie do odpowiednich proporcji, ale pewnie też Ci to nie będzie odpowiadać.
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.