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: 38473
Ranga: Administrator serwisu Punktów: 38473
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 |
Zend Framework 3. Developer's Guide |
IT Books Reviews and Programming: JS, JAVA, PHP, ANDROID, CSS |
Katalog roślin |
Programming articles of: JAVA, PHP, C++, Pyth, JavaScript and so on..