Конвертация GIF в PNG

DooM

Guest
Конвертация GIF в PNG

Народ!, подскажите пожалуйста как переконвертировать ГИФ-картинку в ПНГ-картику.

То есть конвертация проходить успешно:
$src=imagecreatefromgif($path);
imagepng($src, $name_file);

только вот следующий код проверки формата ПНГ данный получившийся файл не проходит:

PHP:
$f=fopen($file,'rb');
	if(!$f)
		$this->Error('Can\'t open image file: '.$file);
	//Check signature
	if(fread($f,8)!=chr(137).'PNG'.chr(13).chr(10).chr(26).chr(10))
		$this->Error('Not a PNG file: '.$file);
	//Read header chunk
	fread($f,4);
	if(fread($f,4)!='IHDR')
		$this->Error('Incorrect PNG file: '.$file);
	$w=$this->_freadint($f);
	$h=$this->_freadint($f);
	$bpc=ord(fread($f,1));
	if($bpc>8)
		$this->Error('16-bit depth not supported: '.$file);
	$ct=ord(fread($f,1));
	if($ct==0)
		$colspace='DeviceGray';
	elseif($ct==2)
		$colspace='DeviceRGB';
	elseif($ct==3)
		$colspace='Indexed';
	else
		$this->Error('Alpha channel not supported: '.$file);
	if(ord(fread($f,1))!=0)
		$this->Error('Unknown compression method: '.$file);
	if(ord(fread($f,1))!=0)
		$this->Error('Unknown filter method: '.$file);
	if(ord(fread($f,1))!=0)
		$this->Error('Interlacing not supported: '.$file);
Выдает ошибки вообщем..

Как перегнать ГИФ что-бы ошибок не возникало??

Заранее спасибо.
 

DooM

Guest
Вообщем все:)
и то что файл не ПНГ, и все остальное... согласно коду приведенному выше..
 

Demiurg

Guest
прямо так человечиским языком и молвит ?
 

DooM

Guest
$this->Error('Not a PNG file: '.$file);

и все остальные согласно коду приведенному выше...
специально же код привел.
 

Demiurg

Guest
код ты привел, молодец, но я могу предполжить, что это кусок кода. И я немного не понимаю, зачем тебе разбирать самому формат картинок, когда есть GD.
 

DooM

Guest
Demiurg
Дело в том, что дальше по коду получившаяся картика вставляется в ПДФ-файл..так гиф-данной операции не поддерживается, так как ГД гиф поддерживает только на чтение, вот и была идея переводить его(гиф) сначала в пнг, а затем уже с ним работать.
 
Сверху