Водяной знак (Watermark)
function image_create($image_path) { $ext = pathinfo($image_path, PATHINFO_EXTENSION); switch ($ext) { case 'gif': $im = imagecreatefromgif($image_path); break; case 'jpg': $im = imagecreatefromjpeg($image_path); break; case 'png': $im = imagecreatefrompng($image_path); break; default: throw new Exception('Неверный формат файла'); } unset($ext); return $im; } function watermark($image_source, $watermark_source) { // Проверка на наличие изображений if (!file_exists($image_source)) { throw new Exception('Изображение '.$image_source.' не найдено'); } if (!file_exists($watermark_source)) { throw new Exception('Изображение '.$watermark_source.' не найдено'); } $image = image_create($image_source); $watermark = image_create($watermark_source); // получение размеров картинок $size_image = getimagesize($image_source); $size_water = getimagesize($watermark_source); $img['width'] = $size_image['0']; $img['height'] = $size_image['1']; $water['width'] = $size_water['0']; $water['height'] = $size_water['1']; $water['padding'] = 10; // отступ водяного знака // позиция водяного знака на картинке $final_x = $img['width'] - $water['width'] - $water['padding']; $final_y = $img['height'] - $water['width'] - $water['padding']; imagecopy($image, $watermark, $final_x, $final_y, 0, 0, $water['width'], $water['height']); // создание картинки imagejpeg($image, 'example.jpg', 80); // освобождение памяти imagedestroy($image); imagedestroy($watermark); } // Пример создания миниатюры watermark('pic.jpg', 'watermark.gif');
Картинка с миниатюрой ниже формируется через код PHP:
Поддержать автора