Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Obliczanie skali dla zdjęcia
Forum PHP.pl > Forum > Przedszkole
skw
Cześć, mam taki problem:

Mam prostokąt o wymiarach
  1. $width = 697;
  2. $height = 492


Oraz mam zdjęcie o wymiarach

  1. $width2 = 3508;
  2. $height2 = 2480


Chcę obliczyć taką skalę, żeby po pomnożeniu przez nią wysokości i szerokości zdjęcie nie było mniejsze niż 697x492 przy zachowaniu proporcji. Ktoś pomoże? businesssmiley.png

Przy obliczaniu

  1. $scale = $width/$width2


wychodzi skala, ale wtedy

  1. $height2 * $scale


wychodzi więcej niż $height (492)
SmokAnalog
Najpierw piszesz, że zdjęcie ma nie być mniejsze niż 697x492, a potem mówisz, że wysokość wychodzi Ci więcej niż 492. To jak w końcu - chcesz mieć większy czy mniejszy?

Jeśli chcesz mniejszy (czyli żeby się zamknął w 697x492):
  1. $scale = min($width / $width2, $height / $height2);


A jeśli większy (czyli żeby jedna współrzędna była taka sama, a druga większa):
  1. $scale = max($width / $width2, $height / $height2);


I w końcu, niezależnie od wybranej metody:
  1. $newWidth = round($width2 * $scale);
  2. $newHeight = round($height2 * $scale);
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.