Mam metodę, która przycina obraz, ale zachowuje proporcje i czasami daje mi podłużny obraz. Czy istnieje sposób na ustalenie szerokości i wysokości, a jednocześnie nie skręcanie lub zniekształcanie obrazu? tj., 120px x 120px
?PHP Image Crop Issue
Jakieś pomysły dotyczące modyfikacji tej metody, aby to zrobić?
Uwaga: Maksymalny rozmiar jest ustawiony na 120px
. Dodatkowo przechodzę na szerokość i wysokość od oryginalnego obrazu.
protected function calculateSize($width, $height) {
if ($width <= $this->maxSize && $height <= $this->maxSize) {
$ratio = 1;
} elseif ($width > $height) {
$ratio = $this->maxSize/$width;
} else {
$ratio = $this->maxSize/$height;
}
$this->newWidth = round($width * $ratio);
$this->newHeight = round($height * $ratio);
}
Ach ... Więc chcesz mieć przycięty obraz, który jest jednocześnie podłużny i kwadratowy w tym samym czasie? –
@HoboSapiens Nie, ta metoda zwróci podłużny obraz, jeśli przekażę mu obraz o rozdzielczości 320 x 200 lub coś podobnego. Chcę, aby zwrócił obraz, który jest przycięty równomiernie na ustalonej szerokości i wysokości, jak 120 x 120. –
@HoboSapiens, Zaktualizowałem moje pytanie. Wiem, jak to mogło być mylące. –