Как можно конвертировать картинку из формата gif в jpeg с мкасимальным качеством?

beba

Новичок
Как можно конвертировать картинку из формата gif в jpeg с мкасимальным качеством?

Как можно конвертировать картинку из формата gif в jpeg с мкасимальным качеством?
А так же изменяя размеры картинки.
Например: У меня есть большая картинка 1.gif. Я хочу чтобы получились картинки 1_big.jpg, 1_middle.jpg, 1_small.jpg. И как можно лучше сохранить качество.
 

beba

Новичок
Имеет смысл когда тебе нужно создать файл pdf. Pdf не поддерживает gif.
 

Фанат

oncle terrible
Команда форума
что-то мне сомнительно это.
в любом случае, такая конвертация - головотяпство
 

beba

Новичок
У меня есть скрипт который генерит pdf файл. И вставляет картинки. Как только картинка gif, то ошибка.
Я лазил по инету и наткнулся на то, что нужно использовать алгоритмы уменьшения глубины цвета с дизайрингом.
Написана что надо использовать функцию imagetruecolortopalette().
А как именно это делать ничего не написано.

-~{}~ 15.09.05 22:16:

Вот скрипт который это делает. Так же уменьшает размер картинок, не теряя определенного качества.
Может быть кому понадобиться.
> Фанату. Если человек очень хорошо разбирается в php, то на форумах ему если и есть чего делать, так ето помогать людям, которым нужна помощь. А не делать как ты - "выгнув пальцы заламывать всех". Не очень красиво, особенно со стороны профессионала... :(
Скрипт:
<?php
// Создадим уменьшенную копию изображения

// имя файла с которым будем работать
// файл должен находиться в том же месте, что и этот скрипт
$source="test.gif";
$to="small.jpg";
// определим размеры уменьшенного изображения
$d_w=133;
$d_h=100;
// вызываем функцию изменения размера
resizeimg($source, $to, 133, 100);

// выводим картинку на экран
?>
<img src="small.jpg">


<?
function resizeimg($filename, $smallimage, $w, $h)
{
// Имя файла с масштабируемым изображением
// $filename = "../".$filename;
// Имя файла с уменьшенной копией.
// $smallimage = "../".$smallimage;
// определим коэффициент сжатия изображения, которое будем генерить
$ratio = $w/$h;
// получим размеры исходного изображения
$size_img = getimagesize($filename);
// Если размеры меньше, то масштабирования не нужно
if (($size_img[0]<$w) && ($size_img[1]<$h)) return true;
// получим коэффициент сжатия исходного изображения
$src_ratio=$size_img[0]/$size_img[1];

// Здесь вычисляем размеры уменьшенной копии, чтобы при масштабировании сохранились
// пропорции исходного изображения
if ($ratio<$src_ratio)
{
$h = $w/$src_ratio;
}
else
{
$w = $h*$src_ratio;
}
// создадим пустое изображение по заданным размерам
$dest_img = imagecreatetruecolor($w, $h);
$white = imagecolorallocate($dest_img, 255, 255, 255);
if ($size_img[2]==2) $src_img = imagecreatefromjpeg($filename);
else if ($size_img[2]==1) $src_img = imagecreatefromgif($filename);
else if ($size_img[2]==3) $src_img = imagecreatefrompng($filename);

// масштабируем изображение функцией imagecopyresampled()
// $dest_img - уменьшенная копия
// $src_img - исходной изображение
// $w - ширина уменьшенной копии
// $h - высота уменьшенной копии
// $size_img[0] - ширина исходного изображения
// $size_img[1] - высота исходного изображения
imagecopyresampled($dest_img, $src_img, 0, 0, 0, 0, $w, $h, $size_img[0], $size_img[1]);
// сохраняем уменьшенную копию в файл
if ($size_img[2]==2) imagejpeg($dest_img, $smallimage);
else if ($size_img[2]==1) imagegif($dest_img, $smallimage);
else if ($size_img[2]==3) imagepng($dest_img, $smallimage);
// чистим память от созданных изображений
imagedestroy($dest_img);
imagedestroy($src_img);
return true;
}
?>
 

Фанат

oncle terrible
Команда форума
Если человек очень хорошо разбирается в php, то на форумах ему если и есть чего делать, так ето помогать людям, которым нужна помощь. А не делать как ты - "выгнув пальцы заламывать всех". Не очень красиво, особенно со стороны профессионала...
Не понял. Это ты к чему?
 

beba

Новичок
К тому что, я попросил помощи на форуме. А кто отозвался так это ты, и причем совсем не очень. В плане конвертация из gif в jpg не имеет смысла. Тебе объясняешь для чего, а ты все на своем "в любом случае, такая конвертация - головотяпство", вместо того чтобы просто помочь.. :(
 

Фанат

oncle terrible
Команда форума
не понял.
Я должен был сесть, написать код такой конвертации и запостить сюда?
Я обязан был писать только то, что ты хочешь?
Я не имею права высказать своё мнение?
А что я ещё не должен делать по твоему мнению?
 

beba

Новичок
Я думаю что пошел уже офтоп.
По поводу того что ты обязан или не обязан решать тебе.
Мое мнение - если уже браться за вопросы чуть ли не все темы форума, так хоть доводить до ума то, за что берешся.
 

Фанат

oncle terrible
Команда форума
я не понял, чем вывзавана твоя претензия.
тем, что тебе код не написали?
Здесь платная служба поддержки, которая должна была тебе это сделать?
или ты недоволен тем, что я считаю такую конверацию глупостью?

И где ты увидел "пальцы"?
И кого я тыт "заломал"? Тебя, бедняжечку? Скажи, а ты в травмопункте телесные повреждения засвидетельствовал? Давай, я тебе компенсацию выплачу?
 

Фанат

oncle terrible
Команда форума
Мое мнение - если уже браться за вопросы чуть ли не все темы форума, так хоть доводить до ума то, за что берешся.
то есть, ты по прежнему считаешь, что единственнаое, чем можно зханиматься на форуме - это беспрекословно отвечать на любые вопросы? Независимо от моего к ним отношения?

или как можно иначе истолковать это твоё "довести до конца"? Для меня довести до конца - это донести, наконец мысль, о неприемлемости конвертации гифа в джипег.

почему ты считаешь, что я дложен доводить до конца то, что нужно тебе, а не то, что интересно мне?

Тебе не кажется, что твой подход несколько эгоистичен?

Если тебе не понравился мой ответ - кто тебя заставляет отвечать мне?

-~{}~ 15.09.05 23:34:

Зачем грубить.....
о, господи.
КТО ТЕБЕ ГРУБИТ?
покажи в моём тексте хоть одно грубое слово!
 

beba

Новичок
> Тебе не кажется, что твой подход несколько эгоистичен?
Может быть.
Ладно. Сорри, что так получилось. Настроение просто отвратительное.
 

Said

Guest
beba

конвертируй лучше в png - pdf поддерживает :)

конвертить гиф в джипег нет смысла потому что джпг предназначен для фотографий где мало резких переходов и можно использовать сжатие с потерей данных, чего нельзя сказать о гиф изображениях поэтому "максимального качества" не получится
 
Сверху