[PHP] przycinanie obrazka

0

Witam

Potrzebuję funkcji która przeskaluje mi obrazek a następnie przytnie go (dokładnie) do podanych rozmiarów.

Napisałem pierwszą cześć czyli skalowanie ale nie wiem jak potem przyciąć obrazek :-/

Funkcja skalująca

function resample_scale($img_path, $max_width, $max_height){
 if(!file_exists($img_path))die('<p>Plik obrazu nie istnieje</p>');
 	$img_attr = getimagesize($img_path);
    //Sprawdza czy obraz jest wiekszy na szerokość czy na wysokość 
    // i zmniejsza odpowiednio rozmiar
    // $img_attr[0] - szerokosc, $img_attr[1] - wysokość
    if($img_attr[0]>$img_attr[1]){
        $scale = $img_attr[0] / $max_width;
    }
	else{
        $scale = $img_attr[1] / $max_height;
    }
    //Tworzy obraz miniaturki
    $w = floor($img_attr[0]/$scale);
    $h = floor($img_attr[1]/$scale);
    $thumb = imagecreatetruecolor($w,$h);
	imagecopyresampled($thumb, imagecreatefromjpeg($img_path), 0, 0, 0, 0, $w, $h, $img_attr[0], $img_attr[1]);
	
	imagejpeg($thumb,"/galeria/mini/".$img_path,85); 
}

Ma ktoś jakiś pomysł [???]

0

Poczytałem to co mi daliście, wiem ze misze ustawić te 4 parametry funkcji imagecopyresampled po oryginalnym obrazku
ale nie wiem jak to zrobić żeby uzyskać coś takiego

user image

(czerwony obszar jest ponad proporcje miniaturki i w miniaturce powinien być odcięty)
jak modyfikuję te parametry to z jakieś strony zostaje mi czarny pasek a tego nie chcę ;-(

0

Ty, a nie można po prostu zmienić na chama rozmiaru obrazka i potem wykorzystać mojej funkcji żeby wkleic to na cośtam?

0
Demonical Monk napisał(a)

Ty, a nie można po prostu zmienić na chama rozmiaru obrazka i potem wykorzystać mojej funkcji żeby wkleic to na cośtam?

na chama nie można bo sie deformuje obrazek :-(

ale znalazłem sposób.
Zmodyfikowałem moją funkcje żeby skalowała dokładnie wysokość (lub jak kto woli wymiar y) obrazka,
otrzymany obrazek wklejam na obrazek o wymiarach takich jak miniaturka i samo sie przycina :-)

Dzięki za pomysł z wklejaniem jednego obrazka na inny ;]
Temat do zamknięcia

1 użytkowników online, w tym zalogowanych: 0, gości: 1