Ресайз гифа, пнг

bzik

Новичок
Ресайз гифа, пнг

При ресайзе гифы получаются в виде черных квадратов, а пнг вроде ресайзятся, но становятся непрозрачными. gd 2.0.15.
Последовательность такая:
imagecreatefromgif();
imagecreatetruecolor();
imagealphablending();
imagecopyresampled();
imagegif();
Кто-нить добивался верного результата?
 

Фанат

oncle terrible
Команда форума
С каких пор гифы стали труколорными?
С каких пор в гифе появился альфа-канал?
может быть, сделать лицо попроще, и поискать с функциях слово transparent?
 

bzik

Новичок
Спасибо, гиф поборол. А в пнг никак прозрачность не сохраняется. Пробовал что-то типа:
imagealphablending($im,true);
imagecolorclosestalpha($im,255,255,255,127);
imagecopyresampled();
 

KhasDenis

Guest
Мне тоже нужно менять размер картинок....
с jpeg все в порядке ....
а вот gif и bmp не читаются
функции
imagecreatefromgif();
imagecreatefromwbmp();
false дают

мой GD Version 1.6.2 or higher ....

книжка вот рядом у меня , водолазкий php4 .... там написано что поддержка gif исключенна из GD начиная с версии 1.6 ...
а тут такой пост ...

чето не сходится
 

bzik

Новичок
Ставь последний gd, там все есть. Только wbmp - это не win bmp-файлы.
 

KhasDenis

Guest
а можно поконкретней, последний это какой ???
поставил php-4.3.3 вместе с ним
GD Version bundled (2.0.15 compatible)
гифы теперь читаются, но не сохраняются...
function_exists("imagegif") выдает false ....
 

tony2001

TeaM PHPClub
RTFM: [m]imagegif[/m]
Since all GIF support was removed from the GD library in version 1.6, this function is not available if you are using that version of the GD library. Support is expected to return in a version subsequent to the rerelease of GIF support in the GD library in mid 2004. For more information, see the GD Project site.
 

KhasDenis

Guest
так bzik пишет что гиф поборол, и в последовательности его есть функция которая у меня не идет, вот и интересуюсь ...
сейчас попробуем сохранять gif как jpeg ...
 

KhasDenis

Guest
сжимаю jpeg ... из 800х600 имеем 100х75 ...
только вот красная машинка стала бледно голубой :(
как бороться ???
 

fixxxer

К.О.
Партнер клуба
GIF - не труколорный.
JPEG - труколорный.
Мне продолжать, или сам догадаешься, чем должен отличаться код в этих двух случаях?
 

KhasDenis

Guest
продолжи ... будь добр ....
у меня и большая и маленькая картинки - jpeg.
может линком поможешь где почитать ...
 

serzh

Guest
А как GIF уменьшить, он ведь только Read Only, у меня GD 2?
 

Фанат

oncle terrible
Команда форума
поставить imagemagick

GD
формат
BMP
не поддерживает.


Пора новый фак писать.
 

serzh

Guest
Ну как его уменьшить?
И как сделать так чтобы приуменьшении любого формата, качество не терялось?
 

serzh

Guest
Вот функцию написал:
//***************************** IMGRS ***************************************
function imgrs($img,$w,$h,$path)
{
$size = GetImageSize($img);
if($size[2]=="1"){
$im_in = imagecreatefromgif("".$img."");
$im_out = ImageCreate($w,$h);
ImageCopyResized($im_out, $im_in, 0,0,0,0, $w, $h,$size[0],$size[1]);
imageJPEG($im_out, "$path/mini_$img");
ImageDestroy($im_in);
ImageDestroy($im_out);
}
if($size[2]=="2"){
$im_in = imagecreatefromjpeg("".$img."");
$im_out = ImageCreateTrueColor($w,$h);
ImageCopyResampled($im_out, $im_in, 0,0,0,0, $w, $h,$size[0],$size[1]);
imagejpeg($im_out, "$path/mini_$img");
ImageDestroy($im_in);
ImageDestroy($im_out);
}
if($size[2]=="3"){
$im_in = imagecreatefrompng("".$img."");
$im_out = ImageCreateTrueColor($w,$h);
ImageCopyResampled($im_out, $im_in, 0,0,0,0, $w, $h,$size[0],$size[1]);
imagepng($im_out, "$path/mini_$img");
ImageDestroy($im_in);
ImageDestroy($im_out);
}
}
//////////////////////////////////////////////////////////////////////////////
 
Сверху