Kashub's Code Barn - "Skrypt do automatycznego generowania miniaturek z plików jpg w całym katalogu"

podświetlone jako blitzbasic (dodał(a) kashub @ 2010-07-15 17:08:50)

Twoja wyszukiwarka
Podświetl ten kod w:
Ostatnio dodane:
Losowe wpisy:
#!/usr/bin/php
<?php
/**
 * utworzenie miniaturek z plików jpg
 *
 * Przykład użycia:
 * ./jpg2mini katalogZfotkami dluzsza 1024
 *
 *
 * @param katalog katalog z plikami jpg
 * @param metoda metoda zmiany rozmiarow obrazka [wysokosc|szerokosc|dluzsza|procent]
 * @param wartosc wartość parametru dla wybranej metody
 *
 * @author Grzegorz 'Kashub [~]o' Szefka
 * @version 1.2
 * @date 2007-08-17
 */
 
ini_set('memory_limit', '512M');
 
$katalog = $argv[1];
$metoda = $argv[2];
$wartosc = $argv[3];
 
$pliki = array_merge(glob($katalog . '/*.jpg'), glob($katalog . '/*.JPG'));
 
foreach($pliki as $plik) {
	$nazwa = substr($plik, 0, -4);
	$img = imagecreatefromjpeg($plik);
	list($width, $height) = getimagesize($plik);
 
	switch($metoda) {
		case 'wysokosc' :
			// metoda pierwsza - wysokość na sztywno, szerokość automagicznie
			$newheight = $wartosc;
			$newwidth = round(($width * $newheight) / $height);
			break;
		case 'szerokosc' :
			// metoda druga - szerokość na sztywno, wysokość automagicznie
			$newwidth = $wartosc;
			$newheight = round(($height * $newwidth) / $width);
			break;
		case 'dluzsza' :
			// metoda 3. - dluzsza krawedz wg parametru, druga automagicznie
			if($width>$height) {
				$newwidth = $wartosc;
				$newheight = round(($height * $newwidth) / $width);
			}
			else {
				$newheight = $wartosc;
				$newwidth = round(($width * $newheight) / $height);
			}
			break;
		case 'procent' :
			// metoda druga - szerokość na sztywno, wysokość automagicznie
			$newwidth = $wartosc;
			$newheight = round(($height * $newwidth) / $width);
			break;
		default :
			exit("\n\nPODAJ PRAWIDŁOWE PARAMETRY!\n[wysokosc|szerokosc|dluzsza|procent]\n\n");
			break;
	}
 
	$thumb = imagecreatetruecolor($newwidth, $newheight);
	imagecopyresized($thumb, $img, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
	echo 'zapis miniaturki ' . $nazwa . "m.jpg' ($newwidth x $newheight)\n";
	imagejpeg($thumb, $nazwa . 'm.jpg');
	imagedestroy($img);
	imagedestroy($thumb);
	//unlink($plik);
}
 
?>
| Katalog Sklepów internetowych | | Wózki dla dzieci | | Opony letnie | | Opony motocyklowe | | Opony zimowe | | Sklep z artykułami RTV/AGD | | Dyskretny sexshop internetowy | | Blog o książkach | | Skracacz adresów |