2013-04-23 2 views
3

Мне поручено накладывать фотографию на изображение газеты, где фотография человека, и они должны быть фотографией на передней стороне газеты.пикселей исчезают при использовании изображения с кодом codeigniter. Llibrary

Я использовал библиотеку изображений codeigniter для нанесения водяного знака с фотографией. Он отлично работает, но он искажает или удаляет некоторые из пикселей в фотографии, когда его наслаивал

Вы можете увидеть в левом верхнем углу фото здесь-

enter image description here

Я также изменение размера изображения в качестве ее 500 точек и пространство для изображения в шаблоне около 1400px

Вот код, я использую, чтобы наложить на изображение

private function overlay($template, $source_image) 
    { 
     echo $template; 
     // $config = array(); 
     $config['source_image'] = $template; 
     $config['image_library'] = 'gd2'; 
     $config['wm_type'] = 'overlay'; 
     $config['wm_overlay_path'] = $source_image; 
     $config['wm_vrt_alignment'] = 'top'; 
     $config['wm_hor_alignment'] = 'left'; 
     $config['wm_hor_offset'] = '18px'; 
     $config['wm_vrt_offset'] = '843px'; 
     $config['quality'] = '100%'; 
     $this->image_lib->initialize($config); 
     $result = $this->image_lib->watermark(); 


     if($result){ 
      return $result; 
     } 
     else 
     { 
      echo $this->image_lib->display_errors(); 
      return false; 
     } 

    } 

ответ

1

Поскольку ответа не было, я в конечном итоге использовал собственные PHP-функции, которые работали.

imgpng имеет 2-й параметр, если вы хотите сохранить файл на свой сервер. Поскольку они печатались одним нажатием кнопки, я просто попросил браузер скачать

private function overlay2($template, $source_image) 
{ 



    $src = imagecreatefromjpeg($source_image); 
    $dest = imagecreatefrompng($template); 

    imagecopymerge($dest,$src, 90, 910, 0, 0, 1511, 1075, 100); //have to play with these numbers for it to work for you, etc. 



    header('Content-Disposition: Attachment;filename=newspaper.png'); 
    header('Content-type: image/png'); 

    imagepng($dest); 

    imagedestroy($dest); 
    imagedestroy($src); 
} 
0

У меня была та же проблема.

Проблема на PNG 24-битных изображениях. Попробуйте использовать PNG 16 bits, чтобы избежать проблем.

Возможно, изображение Gif тоже будет работать (не проверено). Библиотека изображений Codeigniter - хороший класс.

Смежные вопросы