Мне нужно создать прозрачное изображение, а затем объединить в него прозрачные png, сохраняя при этом качество изображения.Как создать прозрачный холст, а затем добавить к нему прозрачные png?
как я могу это сделать?
imagecreatetruecolor(...);
//processing using imagecopymerge(..);
imagepng(...);
выдает черный фон.
спасибо :)
вот мой фактический код для справки ...
$d = getimagesize(TMP.$this->files[0]);
$source_height = $d[0];
$source_width = $d[1];
$this->canvas = imagecreatetruecolor($source_width*count($this->files),$source_height);
imagealphablending($this->canvas, false);
$i=0;
foreach($this->files as $f){
$dst_x = $source_width*$i;
$im = imagecreatefrompng(TMP.$f);
imagecopyresampled ( $this->canvas , $im ,
$dst_x ,
$dst_y = 0 ,
$src_x = 0 ,
$src_y = 0 ,
$source_width ,
$source_height ,
$source_width ,
$source_height);
$i++;
imagepng($im,TMP.$i.".png");
if($i>3)break;
}
$fn = TMP."stiched_up_$i*$source_width.png";
imagesavealpha($this->canvas,TRUE);
imagepng($this->canvas,$fn);
возможно дубликат [Объединить 2-3 прозрачный PNG изображения поверх друг друга с помощью PHP] (http://stackoverflow.com/questions/1397377/combine-2-3-transparent-png-images-on-top-of-each-other-with-php) – Artefacto
почти, за исключением того, что начинается с png-изображения и добавляет к нему, если мне нужно создать png-изображение, а затем добавить к нему. – significance
Независимо от того, создаете ли вы изображение или добавляете его в существующий, ответ один и тот же. +1 для дубликатов. – Wrikken