watermark темнеет при вставке в jpeg

md5hash

Новичок
watermark темнеет при вставке в jpeg

Всем добрый день. Встал тут перед одной проблемой с imagemagick. К сожалению GD использовать лучше не. Постараюсь объяснить суть проблемы.

Клиент дал watermark, и хочет воткнуть его в свои рисунки, рисунков до кучи и больше (около 5000) причем разных форматов. Я сделал скрипт для конверта и вставки вотермарка, в отдельный условие загнал гифы (они ведь анимированные). Запустил скрипт, и все ок, никаких предреканий нет, но вот с jpeg прямо таки засада. Текст на ватермарке становится темнее. В чем подвох я так понять не могу. Качество ставил 100, без разницы, пытался ватермарк переделать в jpg, png бес толку ...

Может кто нить тут подскажет? Скрипт собсно вотъ.

PHP:
function setWatermark($file)
	{
		// open watermark we want add
		if (!@getimagesize($file)) return;
		$waterinfo = image_info("watermark.gif");
		$watermark = imagecreatefromgif("watermark.gif");
		$originfo = image_info($file);
		if (is_resource($watermark))
		{
			if ($originfo[IMAGE_WIDTH] < $waterinfo[IMAGE_WIDTH])
			{
				// we have to watermark be smallest than it is
			}
			else
			{
				$newimage = imagecreate($originfo[IMAGE_WIDTH], $waterinfo[IMAGE_HEIGHT]);
				imagecolorallocate($newimage, 255, 255, 255);
				imagecopy($newimage, $watermark, 0, 0, 0, 0, $waterinfo[IMAGE_WIDTH], $waterinfo[IMAGE_HEIGHT]);
				imagegif($newimage, "temp.gif");
				imagedestroy($newimage);
				imagedestroy($watermark);
				
				if ($originfo[IMAGE_TYPE] != "GIF")
				{
					system(IMPATH . "/convert {$file} -repage " . $originfo[IMAGE_WIDTH] . "x" . ($originfo[IMAGE_HEIGHT] + $waterinfo[IMAGE_HEIGHT]) . " {$file}");
					system(IMPATH . "/composite -gravity southwest temp.gif {$file} {$file}");
				}
				else
				{
					system(IMPATH . "/convert {$file} -repage " . $originfo[IMAGE_WIDTH] . "x" . ($originfo[IMAGE_HEIGHT] + $waterinfo[IMAGE_HEIGHT]) . " {$file}");
					system(IMPATH . "/convert {$file} -coalesce null: ( temp.gif -coalesce -repage +0+" . $originfo[IMAGE_HEIGHT] . " ) -layers Composite {$file}");
				}
				echo $file . "\n";
				flush();
			}
		}
	}
-~{}~ 07.05.07 21:10:

порылся в документашке, посравнивал с конвертацией в кореле в итоге проблему решил, заменив на вот это

system(IMPATH . "/composite -gravity southwest temp.gif {$file} -sampling-factor 4:4:4 -quality 100 -compress Lossless {$file}");

Может кому и пригодится чорт побери на форуме :)
Респект народ.
 
Сверху