Php 如何在laravel 5.8中上传时向图像添加水印
我想在用户在系统上上载图像时添加水印。我目前的代码工作正常,但我需要它的工作上传。我应该在代码中添加什么 我的水印控制器文件Php 如何在laravel 5.8中上传时向图像添加水印,php,laravel,laravel-5,Php,Laravel,Laravel 5,我想在用户在系统上上载图像时添加水印。我目前的代码工作正常,但我需要它的工作上传。我应该在代码中添加什么 我的水印控制器文件 <?php namespace App\Http\Controllers; use Illuminate\Http\Request; use Image; class WaterMarkController extends Controller { public function imageWatermark() { $img = Image::ma
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Image;
class WaterMarkController extends Controller
{
public function imageWatermark()
{
$img = Image::make(public_path('images/background.png'));
/* insert watermark at bottom-right corner with 10px offset */
$img->insert(public_path('images/watermark.png'), 'bottom-right', 10, 10);
$img->save(public_path('images/background.png'));
$img->encode('png');
$type = 'png';
$new_image = 'data:image/' . $type . ';base64,' . base64_encode($img);
return view('show_watermark', compact('new_image'));
}
public function textWatermark()
{
$img = Image::make(public_path('images/background.jpg'));
$img->text('MyNotePaper', 710, 370, function ($font) {
$font->file(public_path('font/amandasignature.ttf'));
$font->size(30);
$font->color('#f4d442');
$font->align('center');
$font->valign('top');
$font->angle(0);
});
$img->save(public_path('images/new-image.png'));
$img->encode('png');
$type = 'png';
$new_image = 'data:image/' . $type . ';base64,' . base64_encode($img);
return view('show_watermark', compact('new_image'));
}
}
正如我所说,我当前的代码工作正常,但我需要它在用户将图像上载到系统时动态工作,使用此代码,您必须将watermark.png和background.jpg配置到同一目录,然后访问路由水印图像。请在这方面帮助我,我对拉雷维尔很陌生。谢谢您可以使用
$request->file('YOUR_FIELD_NAME')
获取上传的图像,并使用storage helper访问上传到存储中的水印
Route::get('watermark-image', 'WaterMarkController@imageWatermark');
Route::get('watermark-text', 'WaterMarkController@textWatermark');