![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 11.08.2012 Skąd: Ciechomin/Łuków/Siedlce Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Chciałbym prosić o poradę, w jaki sposób mógłbym użyć skyptu PHP, by zmieniał rozdzielczość zdjęcia, jednocześnie zachowując jakieś proporcje oraz fakt, że np wysokość, szerokość musi być z jakiegoś konkretnego przedziału? Używam tego skryptu:
Jak można zobaczyć na stronie, na której to wykorzystuję: LINK - przy różnych osobach wrzucających, stały rozmiar okazał się porażką (IMG:style_emoticons/default/sad.gif) |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 590 Pomógł: 107 Dołączył: 25.10.2011 Ostrzeżenie: (0%) ![]() ![]() |
Na rozmiary zdjęcia wrzucanego nie masz wpływu - może to być 320x200 albo 2048x1536, albo nawet 10240x1280 (taka mega panorama). Oznaczmy rozdzielczości: $x_s, $y_s ("s" od "source")
Twoim zadaniem jest: 1. określenie, czy przzeskalowujesz zdjęcia do konkretnego wymiaru poziomego, czy pionowego. Tu uwaga na boku: pionowy rozmiar boli mniej - user sobie przewinie stronę w pionie, bo do tego jest przyzwyczajony. Z przewijaniem w poziomie bywa gorzej (mniejsze przyzwyczajenie, a jak do przewijania w poziomie dojdzie przewijanie w pionie, to koniec świata) (IMG:style_emoticons/default/smile.gif) Zakładamy więc, że masz określone maksymalne X, niech będzie $x_max=640px. 2. przeskalowywujemy zdjęcie ($x_d, $y_d - docelowe rozmiary)
3. [KONTROLA OBLICZEŃ!] Obliczasz sobie współczynnik $n=$y_s/$x_s (albo $x_s/$y_s - co na jedno wychodzi) oryginalnego zdjęcia - ten sam współczynnik dla zdjęcia przeskalowanego $x_d/$y_d będzie identyczny (modulo zaokrąglenia) 4. Zapisujemy/wyświetlamy/przesyłamy zdjęcie. Osobiście uważam, że używanie przedziałów dla zdjęć mija się z celem - albo mamy narzucone konkretne wymagania na maksymalną rozdzielczość X, albo na maksymalną Y, albo (co nie jest dziwne) na obie naraz - robimy zmniejszanie tak, aby: 1. zostały zachowane proporcje (chyba że wymagania są inne - ale u Ciebie jak widać są właśnie takie) 2. żaden wymiar nie został prekroczony. Innymi słowy, jeśli masz zdjęcie z aparatu i chcesz je dopasować np. do wielkości ekranu, to inne przeskalowanie (inną skalę) będzie dla zdjęcia poziomego (landscape), a inne dla pionowego (portrait). To też musisz wziąć pod uwagę. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 11.08.2012 Skąd: Ciechomin/Łuków/Siedlce Ostrzeżenie: (0%) ![]() ![]() |
Wielkie dzięki, zaraz wezmę się za testowanie, to chyba w 100% rozwiąże mój problem:)
Właśnie zakres szerokości/wysokości chodziło mi o maksymalną wielkość (IMG:style_emoticons/default/smile.gif) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 4.10.2025 - 22:15 |