zoukankan      html  css  js  c++  java
  • laravel框架实现制作缩略图和水印

    1.首先需要使用  composer 在命令行安装最新版本的 intervention/image :

    composer require intervention/image

     

    2.注册服务提供者及别名(Laravel 版本 ≤ 5.4)

    如果你的 laravel 版本小于或等于 5.4,安装后需要注册服务提供者和别名到 config/app.php 。

    InterventionImageImageServiceProvider::class,
    'Image' => InterventionImageFacadesImage::class,

    3.使用 Image 加水印

    完成了上面的操作后,就可以开始处理图片了。在使用 Image 类之前,需要先 引入   use InterventionImageFacadesImage;

     1 // 修改指定图片的大小
     2 $img = Image::make('images/avatar.jpg')->resize(200, 200);
     3 
     4 // 插入水印, 水印位置在原图片的右下角, 距离下边距 10 像素, 距离右边距 15 像素
     5 $img->insert('images/watermark.png', 'bottom-right', 15, 10);
     6 
     7 // 将处理后的图片重新保存到其他路径
     8 $img->save('images/new_avatar.jpg');
     9 
    10 // 上面的逻辑可以通过链式表达式搞定
    11 $img = Image::make('images/avatar.jpg')->resize(200, 200)->insert('images/new_avatar.jpg', 'bottom-right', 15, 10);

    伪代码 控制器

     1     //文件上传
     2     public function file(Request $request){
     3         //图片上传
     4         header("Content-Type:text/html;charset=UTF-8");
     5         $file=$request->file('file');
     6         $filename=time().'.'.$file->getClientOriginalExtension();
     7         //压缩图片
     8         //引入的类   use InterventionImageFacadesImage;
     9         $img=Image::make($file)->resize('100,100');
    10 
    11         //水印的图片   水印的大小 位置
    12         $img->insert('uplodes/1.png','bottom-right',15,10);
    13         $image=$img->save('uplodes/'.$filename);
    14         $images=$image->basename;
    15         $pic= "/uplodes/".$images;
    16         return  ['code'=>200,'image'=>$pic];
    17     }

     'image' => [
                'driver' => 'local',
                'root' => public_path('uplodes/image/'),
            ],

    注意:需先将添加的水印log保存在public/uplodes 下

    相关链接:https://learnku.com/laravel/wikis/27386

                     https://www.seoui.cn/wzkf/61.html

    
    
  • 相关阅读:
    【LeetCode-树】找树左下角的值
    【LeetCode-贪心】合并区间
    MongoDB3.6版本新增特性
    MongoDB initial sync过程
    MongoDB3.4版本新增特性
    保险配置原则
    MongoDB批量操作时字段为null时没有入库
    Kafka消费者没有收到通知的分析
    Git分支的管理
    NoSQLBooster如何MongoDB的部分文档从一个集合拷贝到另外一个集合中
  • 原文地址:https://www.cnblogs.com/cyxng/p/14337688.html
Copyright © 2011-2022 走看看