- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Маркетинг для шоколадной фабрики. На 34% выше средний чек
Через устранение узких мест
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Есть фотографии 100x500, 200x200, 200x100
CMS Joomla+Virtuemart
Мне требуется преобразовать их всех к 200x200.
Делаю стандартно, получается такая беда : высокая картинка ( 100x500 ) преобразуется неправильно, а именно - само изображение прижато к левому краю, в то время , как 200x200 с изображением в центре.
Что делают в таких случаях? В фотошопе все обрабатывать?
начал юзать для таких дел
Light Image Resizer 4...
очень удобная прога, с русским интерфейсом
+ там есть режим "умного кадрирования" делает широкие картинки довольно восприимчевыми при необходимости создания квадратных...
раз уж говорить о стороннем софте, то лучше IrfanView ничего пока не встречал - он имеет общирнейший функционал по автоматической обработке изображений. Был и остается бесплатным.
Если по сабжу, то, может имеет смысл у разработчиков полюбопытстовать? на худой конец расковырять исходники.
За программы спасибо, попробую.
Вообщем хотел, чтобы "на лету" как то все вставало на свои места...
если разбираетесь в php, то:
от одной из моих работ, имена переменных "говорящие" и интуитивно понятны... для работы скрипта понадобится библиотека GD (она нужна везде для работы php с изображениями)
вот функция есть, может пригодится
function img_resize($src_img, $dest_img, $width, $height, $fill_color=0xFFFFFF, $quality=90) {
if ( !file_exists($src_img) ) return false;
$img_size = getimagesize($src_img);
if ( $img_size === false ) return false;
$img_format = strtolower( substr($img_size['mime'], strpos($img_size['mime'], '/') + 1) );
$func_imgcreatefrom = 'imagecreatefrom'.$img_format;
if ( !function_exists($func_imgcreatefrom) ) return false;
$x_ratio = $width / $img_size[0];
$y_ratio = $height / $img_size[1];
$min_ratio = min($x_ratio, $y_ratio);
$new_width = ( $x_ratio == $min_ratio ? $width : floor($img_size[0] * $min_ratio) );
$new_height = ( $x_ratio != $min_ratio ? $height : floor($img_size[1] * $min_ratio) );
$new_left = ( $x_ratio == $min_ratio ? 0 : floor(($width - $new_width) / 2) );
$new_top = ( $x_ratio != $min_ratio ? 0 : floor(($height - $new_height) / 2) );
$gd_dest_img = imagecreatetruecolor($width, $height);
$gd_src_img = $func_imgcreatefrom($src_img);
imagefill($gd_dest_img, 0, 0, $fill_color);
imagecopyresampled($gd_dest_img, $gd_src_img, $new_left, $new_top, 0, 0, $new_width, $new_height, $img_size[0], $img_size[1]);
imagejpeg($gd_dest_img, $dest_img, $quality);
imagedestroy($gd_dest_img);
imagedestroy($gd_src_img);
return true;
}