Вот php-скрипт сегодня я как раз соединил несколько функций для этой задачи, нужно было уменьшить для сайта.
<? $width= 200; // ширина полученного рисунка; $height = 100; // высота рисунка $background = 0xFFFFFF; //0xFFFFFF - это белый $quality = 100; // качество сжатия здесь 100% ; // (точно не помню, но по-моему с форума Нетката, по крайней мере я выудил её из своей разработки на неткате) function img_resize($src, $dest, $width, $height, $rgb=0xFFFFFF, $quality=100) { if (!file_exists($src)) { echo "File ne exists"; return false; } $size = getimagesize($src); if ($size === false) { echo "Razmer ne exists"; return false; } // Определяем исходный формат по MIME-информации, предоставленной // функцией getimagesize, и выбираем соответствующую формату // imagecreatefrom-функцию. $format = strtolower(substr($size['mime'], strpos($size['mime'], '/')+1)); $icfunc = "imagecreatefrom" . $format; if (!function_exists($icfunc)) return false; $x_ratio = $width / $size[0]; $y_ratio = $height / $size[1]; $ratio = min($x_ratio, $y_ratio); $use_x_ratio = ($x_ratio == $ratio); $new_width = $use_x_ratio ? $width : floor($size[0] * $ratio); $new_height = !$use_x_ratio ? $height : floor($size[1] * $ratio); $new_left = $use_x_ratio ? 0 : floor(($width - $new_width) / 2); $new_top = !$use_x_ratio ? 0 : floor(($height - $new_height) / 2); $isrc = $icfunc($src); $idest = imagecreatetruecolor($width, $height); imagefill($idest, 0, 0, $rgb); imagecopyresampled($idest, $isrc, $new_left, $new_top, 0, 0, $new_width, $new_height, $size[0], $size[1]); imagejpeg($idest, $dest, $quality); imagedestroy($isrc); imagedestroy($idest); return true; } //Взято из CodeIgniter (хэлпер file_helper) www.codeigniter.com function get_filenames($source_dir, $include_path = FALSE) { static $_filedata = array(); if ($fp = @opendir($source_dir)) { while (FALSE !== ($file = readdir($fp))) { if (@is_dir($source_dir.$file) && substr($file, 0, 1) != '.') { get_filenames($source_dir.$file."/", $include_path); } elseif (substr($file, 0, 1) != ".") { $_filedata[] = ($include_path == TRUE) ? $source_dir.$file : $file; } } return $_filedata; } } $files = get_filenames($_SERVER['DOCUMENT_ROOT'].'/photos1/'); foreach ($files as $file){ img_resize($_SERVER['DOCUMENT_ROOT'].'/photos/photos1/'.$file, $_SERVER['DOCUMENT_ROOT'].'/photos/photos2/'.$file, $width, $height, $background, $quality); } ?>
Использовать можно на хосте или, например, под денвером.
В корневую папку сайта закачиваем данный скрипт.
Создаём две папки photos1 и photos2
В photos1 закачиваем фотографии, которые нужно сжать.
В скрипте прописываем:
$width - желаемая ширина превьюхи
$height - желаемая высота превьюхи
$background - цвет фона RGB (задавать в том формате что и в примере белый)
$quality - качество, процент сжатия.
После запуска и отработки скрипта результат (все рисунки) будут сохранены в папку photos2 . Результат будет в формате jpeg.
Относительно $background - рисунки не растягиваются без формы, а сжимаются пропорционально, а потом ложаться на фон с параметрами заданными в скрипте. В общем, хорошо получается. :)
update: Исправил ошибку - путь был не исправил...
Так даже более таргетированно :)
http://images.google.com/images?gbv=2&svnum=10&hl=en&sa=X&oi=spell&resnum=0&ct=result&cd=1&q=invoice+advertisement&spell=1
Все эти затраты должны сразу идти под утверждением "забанят". И соответственно "бизнес-план" должен разрабатываться под это.
офф: а означает, что в этих разных продуктах скорее всего есть бета-каротин, а это значит, что причина красноты одинаковая.
:)
Отсюда http://www.artlebedev.ru/tools/technogrette/html/links/
Это делается:
Вы, наверное, живёте в идеальном мире, где все броузеры работают по стандартам :)
а не будет воспринято как "ты - толстая и некрасивая"? :)
+1 не лучший подарок. Неизвестно запах понравится или нет.
фаервол блочит?
Поставьте ссылку текстовую, а то я не сразу въехал, что картинка это ссылка :)
Так-с, я наверное попробую поучаствовать в видеоконкурсе :)
update: Нет. Я живу не в одном из больших городов участников :(