热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Thinkphp5学习(35)图像处理

学习内容:https:www.kancloud.cntpshopthinkphp5233345完全开发手册:https:www.kancloud.cnmanualthi

学习内容:
https://www.kancloud.cn/tpshop/thinkphp5/233345

完全开发手册:
https://www.kancloud.cn/manual/thinkphp5/177530

教程中的代码:https://github.com/phpervip/tp5a

代码示例:


namespace app\index\controller;
use think\Controller;
use think\Request;
use think\Image;
class Upload extends Controller
{

public function picture(Request $request){
$file = $request->file('image');
if(true !== $this->validate(['image'=>$file],['image'=>'require|image'])){
$this->error('请选择图像文件');
}else{
// var_dump($request);exit;
$image = Image::open($file);
switch($request->param('type')){
case 1:// 图片裁剪
$image->crop(300,300);
break;
case 2:// 缩略图
$image->thumb(60,60,Image::THUMB_CENTER);
break;
case 3:// 垂直翻转
$image->flip();
break;
case 4:// 水平翻转
$image->flip(Image::FLIP_Y);
break;
case 5:// 图片旋转
$image->rotate(30);
break;
case 6:// 图片水印
$image->water('./uploads/20170724/logo_v2.png',Image::WATER_NORTHWEST,50);
break;
case 7:// 文字水印
$image->text('THINKPHP',VENDOR_PATH.'topthink/think-captcha/assets/ttfs/1.ttf',20,'#ffffff');
break;
}
$saveName = $request->time().'.png';
$image->save(ROOT_PATH.'public/uploads/'.$saveName);
$this->success('图像处理完毕...','/uploads/'.$saveName,1);
}
}
}

模板文件:
注意:测试时,应找一张不对称的图片,更好的看到效果。
例:
var cpro_id = "u6885494";

推荐阅读
  • 学习内容:视频教程:https:www.kancloud.cntpshopthinkphp5228987完全开发手册:https:www.kancloud.cnmanual ... [详细]
  • Voicewo在线语音识别转换jQuery插件的特点和示例
    本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ... [详细]
  • 后台获取视图对应的字符串
    1.帮助类后台获取视图对应的字符串publicclassViewHelper{将View输出为字符串(注:不会执行对应的ac ... [详细]
  • IOS开发之短信发送与拨打电话的方法详解
    本文详细介绍了在IOS开发中实现短信发送和拨打电话的两种方式,一种是使用系统底层发送,虽然无法自定义短信内容和返回原应用,但是简单方便;另一种是使用第三方框架发送,需要导入MessageUI头文件,并遵守MFMessageComposeViewControllerDelegate协议,可以实现自定义短信内容和返回原应用的功能。 ... [详细]
  • 本文介绍了ASP.NET Core MVC的入门及基础使用教程,根据微软的文档学习,建议阅读英文文档以便更好理解,微软的工具化使用方便且开发速度快。通过vs2017新建项目,可以创建一个基础的ASP.NET网站,也可以实现动态网站开发。ASP.NET MVC框架及其工具简化了开发过程,包括建立业务的数据模型和控制器等步骤。 ... [详细]
  • 【重识云原生】第四章云网络4.8.3.2节——Open vSwitch工作原理详解
    2OpenvSwitch架构2.1OVS整体架构ovs-vswitchd:守护程序,实现交换功能,和Linux内核兼容模块一起,实现基于流的交换flow-basedswitchin ... [详细]
  • ps:写的第一个,不足之处,欢迎拍砖---只是想用自己的方法一步步去实现一些框架看似高大上的小功能(比如说模型中的toArraytoJsonsetAtt ... [详细]
  • Nextcloudsnap一键安装包: https:github.comextcloudextcloud-snap建议安装Ubuntu系统,因为官方一键安装包用的是Snap,Cen ... [详细]
  • windows 2008r2+php5.6.28环境搭建的示例
    这篇文章主要介绍windows2008r2+php5.6.28环境搭建的示例,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!安装IIS71、 ... [详细]
  • 今天我们来谈一下PHP中比较重要的一个函数header(),首先我们要知道header是干嘛的header()函数的作用是:发送一个原始HTTP标头[HttpHeader]到客户端。标头(he ... [详细]
  • 本文介绍了网页播放视频的三种实现方式,分别是使用html5的video标签、使用flash来播放以及使用object标签。其中,推荐使用html5的video标签来简单播放视频,但有些老的浏览器不支持html5。另外,还可以使用flash来播放视频,需要使用object标签。 ... [详细]
  • 本文讨论了在ASP中创建RazorFunctions.cshtml文件时出现的问题,即ASP.global_asax不存在于命名空间ASP中。文章提供了解决该问题的代码示例,并详细解释了代码中涉及的关键概念,如HttpContext、Request和RouteData等。通过阅读本文,读者可以了解如何解决该问题并理解相关的ASP概念。 ... [详细]
  • Yii framwork 应用小窍门
    Yiiframework应用小窍门1.YiiFramework]如何获取当前controller的名称?下面语句就可以获取当前控制器的名称了!Php代码 ... [详细]
  • thinkphp5中取消了3.2版本中的单字母函数,初用tp5可能不大适应,下边给出两者的对应参照表,以便查阅。3.2版本5.0版本 ... [详细]
  • PHP5.2 内存管理器[来自IBM]
    2006年11月发布了PHPV5.2,它包括许多新增功能和错误修正。它废止了5.1版并被推荐给所有PHPV5用户进行升级。我最喜欢的实验室环境——Win ... [详细]
author-avatar
nuabolalalala4_135
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有