- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Маркетинг для шоколадной фабрики. На 34% выше средний чек
Через устранение узких мест
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Картинка есть, с нужным размером. Но качество-о-о-о...
goend, imagick погугли.
goend, imagick погугли.
Есть такое, только я в СИ (или чё там с *.c *.h) не втыкаюсь
Да и, видимо, это extension
как я его на сервер воткну?
Пропробуйте эту функцию. Качество конечно теряется, но не то, чтобы сильно.
function SaveResized ($sSource, $sDest, $iMaxX, $iMaxY, $iRGB=0xFFFFFF, $iQuality=100){if (!file_exists($sSource)) return -1; //file not found
$aImgSize = getimagesize($sSource);
if ($aImgSize === false) return -2; //getimgsize error
$sMime = strtolower(substr($aImgSize['mime'], strpos($aImgSize['mime'], '/')+1));
$fcImageCreateFrom = "imagecreatefrom" . $sMime;
if (!function_exists($fcImageCreateFrom)) return -3; //unknown format
$fXRatio = $iMaxX / $aImgSize[0];
$fYRatio = $iMaxY / $aImgSize[1];
$fRatio = min($fXRatio, $fYRatio);
$fUseRatio = ($fXRatio == $fRatio);
$iNewWidth = $fUseRatio ? $iMaxX : floor($aImgSize[0] * $fRatio);
$iNewHeight = !$fUseRatio ? $iMaxY : floor($aImgSize[1] * $fRatio);
$iNewLeft = $fUseRatio ? 0 : floor(($iMaxX - $iNewWidth) / 2);
$iNewTop = !$fUseRatio ? 0 : floor(($iMaxY - $iNewHeight) / 2);
$rImg = $fcImageCreateFrom($sSource);
$rImgDest = imagecreatetruecolor($iMaxX, $iMaxY);
imagefill($rImgDest, 0, 0, $iRGB);
imagecopyresampled($rImgDest, $rImg, $iNewLeft, $iNewTop, 0, 0,
$iNewWidth, $iNewHeight, $aImgSize[0], $aImgSize[1]);
imagejpeg($rImgDest, $sDest, $iQuality);
imagedestroy($rImg);
imagedestroy($rImgDest);
return true;
}
Пропробуйте эту функцию. Качество конечно теряется, но не то, чтобы сильно.
Спасибо большое!
Достаточно было для цвета imagecreatetruecolor вместо imagecreate -
а эффект - небо и земля!
Хоть и с опозданием, но процитирую кусочек руководства по PHP (Image Functions, imagecopyresized):