Przetwarzanie grafiki w locie
Ocena: 0.0/5 (0 ocen) Zaloguj się, aby móc głosować
Opublikował: edious, Dn: 26.07.2005, Wyświetleń: 39 |
Przetwarzanie grafiki w locie
Gdy tworzylem formularz do obslugi uploadu zdjec, przyszlo mi na mysl, aby skrypt samodzielnie przetwarzal grafike na zadany rozmiar i rodzaj kompresji. Z pomoca przyszedl jak zawsze manual. Dzieki tym wskazówka pokaze jak, w prosty sposob stworzyc taki formularz. Czego potrzebujemy? Dwa pliki. Plik html z formularzem i plik php z skryptem przetwarzajacym wynik. Plik html: (tworzymy plik: index.html w którym umieszczamy kod taki, jak ponizej) <form method="POST" enctype="multipart/form-data" action="skrypt.php"> <input type="file" name="plik" size="20"><input type="submit" value="Prześlij" name="go"> </form> |
To bedzie nasz formularz. Teraz przejdziemy do stworzenia skryptu. Plik php (tworzymy plik: skrypt.php Kod w ramce poniżej) <? if(!($plik=="")){ list($width, $height) = getimagesize($plik); $new_width = "100"; $new_height = "100";
$image_p = imagecreatetruecolor($new_width, $new_height); $image = imagecreatefromjpeg($plik); imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height); $direct="temp/"; imagejpeg($image_p, '$direct'.$plik_name.'', 30); } ?> |
Teraz wyjasnienie: if(!($plik=="")) - Sprawdzamy, czy plik zostal przeslany list($width, $height) = getimagesize($plik); - Pobieramy szerokosc i wysokosc przeslanego pliku
$direct="temp/"; - Sciezka do katalogu, gdzie ma zostac zapisana nowa grafika Kolejna linijka do wyjasnienia to:
imagejpeg($image_p, '$direct'.$plik_name.'', 30); - Ostateczna linijka, która stworzy nasz plik. Liczba 30, na koncu tej linijki okresla sile kompresji obrazka (od 1 do 100). Im wieksza liczba, tym mniejsza kompresja, lepsza jakosc, lecz wiekszy plik. Sila kompresji ustawiona na 30 i rozmian 100 px na 100px daje nam plik ok 1,3 Kb a jakosc jest dobra. Przy wiekszym width height radze podniesc kompresje do ok 65. To by bylo na tyle... $new_width = "100"; $new_height = "100"; - Szerokosc i wysokosc, jaka ma zostac nadana nowemu plikowi
Dodaj komentarz Drukuj
|
|