Добавление водяного знака на изображение из баз данных в Laravel 5.3

Я пытаюсь добавить водяной знак на изображение из базы данных в Laravel, используя пакет Intervention Image. В моей таблице базы данных я сохраняю путь к изображению. Я использую Accessors в своей модели, чтобы получить доступ к полю пути к изображению, но получаю эту ошибку:

Метод вставки не существует.

Вот моя модель:

Моя модель

Вот мой клинок:

мой взгляд


person Kiarie Henry    schedule 16.12.2016    source источник
comment
Добро пожаловать в StackOverflow! Пожалуйста, не включайте код в виде скриншотов! Просто опубликуйте его здесь и правильно стилизуйте.   -  person manniL    schedule 16.12.2016
comment
Вы попытаетесь вставить водяной знак в коллекцию фотографий, это не сработает. Попробуйте загрузить фотографию из пути к файлу, а затем вставьте туда фотографию водяного знака.   -  person JackPoint    schedule 16.12.2016
comment
Спасибо, что указали на ошибку, связанную с попыткой поставить водяной знак на коллекцию фотографий. У меня проблема в том, что сайт, над которым я работаю, некоторое время работал. Изображения украдены, и клиенту нужно, чтобы изображения были снабжены водяными знаками. Эти изображения уже загружены.   -  person Kiarie Henry    schedule 19.12.2016


Ответы (1)


public function getFilePathAttribute($value){
    $img = Image::make(public_path($value)); //your image I assume you have in public directory
    $img->insert(public_path('watermark.png'), 'bottom-right', 10, 10); //insert watermark in (also from public_directory)
    $img->save(public_path($value)); //save created image (will override old image)
    return $value; //return value
}

Лучше делать это при загрузке, поэтому вы делаете это один раз, а не всегда, когда пытаетесь получить доступ к пути изображения из БД (меньше процесса). К вашему сведению: это сохранит уже изображение с водяным знаком.

person Froxz    schedule 16.12.2016
comment
Спасибо, что указали на то, что старое изображение можно переопределить, это будет очень полезно. - person Kiarie Henry; 19.12.2016
comment
@KiarieHenry Лучше при загрузке - person Froxz; 19.12.2016
comment
Я тоже думал о том же, но у меня было две папки: исходная папка с фотографиями и фотография с водяным знаком. Теперь я знаю хитрость. Спасибо @Froxz - person Kiarie Henry; 19.12.2016
comment
@Froxz хороший скрипт, но он создает одну проблему, когда я добавляю водяной знак к изображению размером 3024 * 2016 пикселей или больше пикселей, водяной знак не отображается должным образом. при увеличении изображение отображается, пожалуйста, помогите! - person kunal; 09.06.2017
comment
я хочу, чтобы вы ответили на мой вопрос stackoverflow.com/questions/44451310/ - person kunal; 09.06.2017