Zmiana wielkości obrazka JPEG " w locie " (kalibracja do rozmarów)
Skrypt generuje podany obrazek do obrazu JPEG, który jest kalibrowany do odpowiednich rozmiarów. Oznacza to, że zależności między wysokością oraz szerokością zostają zachowane, czyli obrazki nie są nie naturalnie rozciągane.
Przykład bazuje na szerokości 80 pikseli oraz wysokości równej 60 pikseli.
//zastosowanie kodu:
przeskalujObrazek('logo.jpg', 80, 60);
Listing
<?php
$obrazek = "http://funkcje.net/obrazek.jpg";
$max_szerokosc = 80;
$max_wysokosc = 60;
//KOD POBRANY ZE STRONY www.Funkcje.net
//WSZELKIE PRAWA AUTORSKIE ZASTRZEŻONE
function przeskalujObrazek($obrazek, $max_szerokosc, $max_wysokosc) {
$rozmiar = GetImagesSize($obrazek);
$szerokosc = $rozmiar[0];
$wysokosc = $rozmiar[1];
$wspolczynnik_x = $max_szerokosc / $szerokosc;
$wspolczynnik_y = $max_wysokosc / $wysokosc;
if (($szerokosc <= $max_szerokosc) && ($wysokosc <= $max_wysokosc)) {
$nowa_szerokosc = $szerokosc;
$nowa_wysokosc = $wysokosc;
}
else if (($wspolczynik_x * $wysokosc) < $max_wysokosc) {
$nowa_wysokosc = ceil($wspolczynnik_x * $wysokosc);
$nowa_szerokosc = $max_szerokosc;
}
else {
$nowa_szerokosc = ceil(wspolczynnik_y * $szerokosc);
$nowa_wysokosc = $max_wysokosc;
}
$zrd = ImageCreateFromJpeg($obrazek);
$prz = ImageCreate($nowa_szerokosc, $nowa_wysokosc);
ImageCopyResized($prz, $zrd, 0, 0, 0, 0, $nowa_szerokosc, $nowa_wysokosc, $szerokosc, $wysokosc);
header('Content-type: Image/jpeg');
ImageJpeg($prz, null, -1);
ImageDestroy($prz);
ImageDestroy($zrd);
}
?>
$obrazek = "http://funkcje.net/obrazek.jpg";
$max_szerokosc = 80;
$max_wysokosc = 60;
//KOD POBRANY ZE STRONY www.Funkcje.net
//WSZELKIE PRAWA AUTORSKIE ZASTRZEŻONE
function przeskalujObrazek($obrazek, $max_szerokosc, $max_wysokosc) {
$rozmiar = GetImagesSize($obrazek);
$szerokosc = $rozmiar[0];
$wysokosc = $rozmiar[1];
$wspolczynnik_x = $max_szerokosc / $szerokosc;
$wspolczynnik_y = $max_wysokosc / $wysokosc;
if (($szerokosc <= $max_szerokosc) && ($wysokosc <= $max_wysokosc)) {
$nowa_szerokosc = $szerokosc;
$nowa_wysokosc = $wysokosc;
}
else if (($wspolczynik_x * $wysokosc) < $max_wysokosc) {
$nowa_wysokosc = ceil($wspolczynnik_x * $wysokosc);
$nowa_szerokosc = $max_szerokosc;
}
else {
$nowa_szerokosc = ceil(wspolczynnik_y * $szerokosc);
$nowa_wysokosc = $max_wysokosc;
}
$zrd = ImageCreateFromJpeg($obrazek);
$prz = ImageCreate($nowa_szerokosc, $nowa_wysokosc);
ImageCopyResized($prz, $zrd, 0, 0, 0, 0, $nowa_szerokosc, $nowa_wysokosc, $szerokosc, $wysokosc);
header('Content-type: Image/jpeg');
ImageJpeg($prz, null, -1);
ImageDestroy($prz);
ImageDestroy($zrd);
}
?>
Dodano przez: divix
Ranga: Administrator serwisu Punktów: 0
Ranga: Administrator serwisu Punktów: 0
Komentarze użytkowników
:: Losowe artykuły
:: Wymiana linków
Modowe inspiracje |
Android Gry i Aplikacje |
ZaplanujTransport.pl: Przeprowadzki, transport, aukcje |
Logo dla firmy |
Change Tires - Car Weather Forecast Reminder |
Laminas: MVC Framework for PHP |
IT Books Reviews and Programming: JS, JAVA, PHP, ANDROID, CSS |
Katalog roślin |
Programming articles: JAVA, PHP, C++, Python, JavaScript |
Kancelaria Adwokacka Łukasz Huszno