[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: GD and Imagick
Evilsoul
Да, библиотека Мейджика больше и возможностей больше, но что быстрее будет работать с самыми распространёнными форматами JPG, GIF, PNG, BMP?



Спустя 1 час, 10 минут, 32 секунды (5.02.2011 - 19:38) Lenarfate написал(а):
быстрее, естественно, gd)

Спустя 1 час, 48 секунд (5.02.2011 - 20:39) Evilsoul написал(а):
Спасибо

Спустя 2 часа, 9 минут, 42 секунды (5.02.2011 - 22:48) vasa_c написал(а):
lenarfate, инфа стопрацентав?

Evilsoul, прежде чем спросить, что сказал по этому поводу эксперимент - с какой целью вы интересуетесь данной проблемой?

Спустя 43 минуты, 50 секунд (5.02.2011 - 23:32) Evilsoul написал(а):
Цитата
lenarfate, инфа стопрацентав?

Думаю, да, я предполагал что это так но не был уверен.
vasa_c
Делаю фотогалерею, я размещал код в разделе бесплатных курсов, там я использовал функцию для изменения размеров изображения, а так как мне два раза пришлось её использовать то процесс вышел не быстрый, 5-10 сек, в зависимости от размера картинки, а интересуюсь для оптимизации.

Спустя 1 час, 4 минуты, 16 секунд (6.02.2011 - 00:37) vasa_c написал(а):
Изменение размеров изображение с использованием обоих библиотек занимает доли секунды, если, конечно, правильно ими пользоваться и изображение весит не гигабайты.

Спустя 24 минуты, 27 секунд (6.02.2011 - 01:01) Evilsoul написал(а):
Вот:
 function imgResize($src, $dest, $width, $height, $quality = 80)
{
if(!file_exists($src)) return false;

$size = getimagesize($src);

if($size === false) return false;

// Определяем исходный формат по MIME-информации, предоставленной
// функцией getimagesize, и выбираем соответствующую формату
// imagecreatefrom-функцию.

$format = strtolower(substr($size['mime'], strpos($size['mime'], '/')+1));
$icfunc = 'imagecreatefrom' . $format;

if (!function_exists($icfunc)) return false;

$src_x = 0; // Точка координат по оси X в оригинальном изображении для выделения копируэмой области
$src_y = 0; // Точка координат по оси У в оригинальном изображении для выделения копируэмой области

$src_w = $size[0]; // Ширина прямоугольника копируэмой области
$src_h = $size[1]; // Высота прямоугольника копируэмой области

if($width === $height)
{
if($size[0] >= $size[1])
{
$difference = $size[0] - $size[1]; // Получаем разницу между шириной и высотой
$src_x = ceil($difference / 2); // Точка координат (половина разницы) по оси Х в оригинальном изображении для выделения копируэмой области
$src_w = $size[0] - $difference; // Ширина прямоугольника копируэмой области
}
else
{
$difference = $size[1] - $size[0];
$src_y = ceil($difference / 2);
$src_h = $size[1] - $difference;
}
}

else
{
if($size[0] >= $size[1])
{
$scale = round($size[0] / $width, 2);
$width = floor($size[0] / $scale);
$height = floor($size[1] / $scale);
}
else
{
$scale = round($size[1] / $height, 2);
$width = floor($size[0] / $scale);
$height = floor($size[1] / $scale);
}
}


$isrc = $icfunc($src);
$idest = imagecreatetruecolor($width, $height);

imagecopyresampled($idest, $isrc, 0, 0, $src_x, $src_y, $width, $height, $src_w, $src_h);

imagejpeg($idest, $dest, $quality);

imagedestroy($isrc);
imagedestroy($idest);

return true;
}


Правильно?

Спустя 9 минут, 7 секунд (6.02.2011 - 01:10) Evilsoul написал(а):
После загрузки изображения на сервер функция используется два раза, первый она уменьшает размер изображения прямо пропорционально до указанных размеров, второй, она делает квадратное изображение для предосмотра.

Спустя 21 час, 41 минута, 41 секунда (6.02.2011 - 22:52) Evilsoul написал(а):
vasa_c
ап


_____________
Кто хочет, ищет возможности, кто не хочет - причины. /_ К. Маркс
Истенно велик тот человек который сумел овладеть своим временем. /_Гесиод VIII-VII вв. до Р. Х.
Медлительный непрерывно борится с бедами всю жизнь. /_Гесиод VIII-VII вв. до Р. Х.
Для того что бы увидеть радугу нужно пережить дождь.
Женщины: Хочется чего-то красного но синего.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.