我的编程空间,编程开发者的网络收藏夹
学习永远不晚

thinkphp中的Image操作方法是什么

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

thinkphp中的Image操作方法是什么

这篇文章主要讲解了“thinkphp中的Image操作方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“thinkphp中的Image操作方法是什么”吧!

不依赖任何框架

一般情况下都会安装gd库

需要Imagick请安装  https://pecl.php.net/package/imagick

安装

composer require whereof/think-image

实例化类库

$image = new \whereof\ThinkImage\Image();

默认使用GD库进行图像操作,如果需要使用Imagick库操作的话,需要改成:

$image = new \whereof\ThinkImage\Image(\Think\Image::IMAGE_IMAGICK); // 或者采用$image = new \whereof\ThinkImage\Image('Imagick');

图像操作

下面来看下基础的图像操作功能的使用方法。

打开图像文件

假设当前入口文件目录下面有一个1.jpg文件

使用open方法打开图像文件进行相关操作:

$image = \whereof\ThinkImage\Image(); $image->open('./1.jpg');

也可以简化成下面的方式:

$image = new \whereof\ThinkImage\Image(\whereof\ThinkImage\Image::IMAGE_GD,'./1.jpg'); // GD库// 或者$image = new \whereof\ThinkImage\Image(\whereof\ThinkImage\Image::IMAGE_IMAGICK,'./1.jpg');  // imagick库

获取图像信息

可以获取打开图片的信息,包括图像大小、类型等,例如:

$width = $image->width(); // 返回图片的宽度$height = $image->height(); // 返回图片的高度$type = $image->type(); // 返回图片的类型$mime = $image->mime(); // 返回图片的mime类型$size = $image->size(); // 返回图片的尺寸数组 0 图片宽度 1 图片高度

裁剪图片

使用crop和save方法完成裁剪图片功能。

//将图片裁剪为400x400并保存为corp.jpg$image->crop(400, 400)->save('./crop.jpg');

支持从某个坐标开始裁剪,例如下面从(100,30)开始裁剪:

//将图片裁剪为400x400并保存为corp.jpg$image->crop(400, 400,100,30)->save('./crop.jpg');

生成缩略图

使用thumb方法生成缩略图

// 按照原图的比例生成一个最大为150*150的缩略图并保存为thumb.jpg$image->thumb(150, 150)->save('./thumb.jpg');

可以支持其他类型的缩略图生成,设置包括\whereof\ThinkImage\Image的下列常量或者对应的数字:

IMAGE_THUMB_SCALE     =   1 ; //等比例缩放类型IMAGE_THUMB_FILLED    =   2 ; //缩放后填充类型IMAGE_THUMB_CENTER    =   3 ; //居中裁剪类型IMAGE_THUMB_NORTHWEST =   4 ; //左上角裁剪类型IMAGE_THUMB_SOUTHEAST =   5 ; //右下角裁剪类型IMAGE_THUMB_FIXED     =   6 ; //固定尺寸缩放类型
居中裁剪
// 生成一个居中裁剪为150*150的缩略图并保存为thumb.jpg$image->thumb(150, 150,\whereof\ThinkImage\Image::IMAGE_THUMB_CENTER)->save('./thumb.jpg');
左上角剪裁
$image->thumb(150, 150,\whereof\ThinkImage\Image::IMAGE_THUMB_NORTHWEST)->save('./thumb.jpg');
缩放填充
$image->thumb(150, 150,\whereof\ThinkImage\Image::IMAGE_THUMB_FILLED)->save('./thumb.jpg');
固定大小
$image->thumb(150, 150,\whereof\ThinkImage\Image::IMAGE_THUMB_FIXED)->save('./thumb.jpg');

添加图片水印

//将图片裁剪为440x440并保存为corp.jpg$image->crop(440, 440)->save('./crop.jpg');// 给裁剪后的图片添加图片水印(水印文件位于./logo.png),位置为右下角,保存为water.gif$image->water('./logo.png')->save("water.gif");// 给原图添加水印并保存为water_o.gif(需要重新打开原图)$image->open('./1.jpg')->water('./logo.png')->save("water_o.gif");

water方法的第二个参数表示水印的位置,可以传入下列Think\Imag类的常量或者对应的数字:

IMAGE_WATER_NORTHWEST =   1 ; //左上角水印IMAGE_WATER_NORTH     =   2 ; //上居中水印IMAGE_WATER_NORTHEAST =   3 ; //右上角水印IMAGE_WATER_WEST      =   4 ; //左居中水印IMAGE_WATER_CENTER    =   5 ; //居中水印IMAGE_WATER_EAST      =   6 ; //右居中水印IMAGE_WATER_SOUTHWEST =   7 ; //左下角水印IMAGE_WATER_SOUTH     =   8 ; //下居中水印IMAGE_WATER_SOUTHEAST =   9 ; //右下角水印

例如:

$image->open('./1.jpg')->water('./logo.png',\whereof\ThinkImage\Image::IMAGE_WATER_NORTHWEST)->save("water.jpg");

还可以支持水印图片的透明度(0~100,默认值是80),例如:

$image->open('./1.jpg')->water('./logo.png',\whereof\ThinkImage\Image::IMAGE_WATER_NORTHWEST,50)->save("water.jpg");

也可以支持给图片添加文字水印(假设在入口文件的同级目录下存在1.ttf字体文件),例如:

$image->open('./1.jpg')->text('ThinkPHP','./1.ttf',20,'#000000',\whereof\ThinkImage\Image::IMAGE_WATER_SOUTHEAST)->save("new.jpg");

感谢各位的阅读,以上就是“thinkphp中的Image操作方法是什么”的内容了,经过本文的学习后,相信大家对thinkphp中的Image操作方法是什么这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

thinkphp中的Image操作方法是什么

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

thinkphp中的Image操作方法是什么

这篇文章主要讲解了“thinkphp中的Image操作方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“thinkphp中的Image操作方法是什么”吧!独立thinkphp3.2.3
2023-06-26

ASP.Net中操作Ajax的方法是什么

在ASP.Net中,操作Ajax的方法主要有以下几种:1. 使用ASP.Net内置的Ajax控件:ASP.Net提供了一系列的Ajax控件,如UpdatePanel、ScriptManager等,可以通过在页面中添加这些控件来实现Ajax操
2023-09-26

SpringBoot中操作Redis的方法是什么

在Spring Boot中操作Redis有多种方法:使用RedisTemplate:RedisTemplate是Spring框架提供的一个用于操作Redis的模板类,它提供了一系列的方法来操作Redis的数据结构,如字符串、哈希、列表、集合
SpringBoot中操作Redis的方法是什么
2024-04-09

python中的IO操作方法是什么

这篇文章跟大家分析一下“python中的IO操作方法是什么”。内容详细易懂,对“python中的IO操作方法是什么”感兴趣的朋友可以跟着小编的思路慢慢深入来阅读一下,希望阅读后能够对大家有所帮助。下面跟着小编一起深入学习“python中的I
2023-06-26

linux中redis操作的方法是什么

在Linux中,可以使用redis-cli命令行工具来操作Redis数据库。以下是一些常用的Redis操作命令:1. 连接到Redis服务器:```redis-cli -h -p ```2. 设置键值对:```set ```3. 获取键
2023-09-11

jyk的操作方法是什么

这篇文章主要介绍“jyk的操作方法是什么”,在日常操作中,相信很多人在jyk的操作方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”jyk的操作方法是什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧
2023-06-29

Golang中的替换操作方法是什么

本篇内容介绍了“Golang中的替换操作方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Golang的字符串动态变量Golang 的
2023-07-05

mysql语法中DQL操作方法是什么

今天小编给大家分享一下mysql语法中DQL操作方法是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。DQL(Data Q
2023-06-26

thinkphp操作mongo数据的三种方法

本文介绍了ThinkPHP操作MongoDB数据的三种方法:原生PHP接口:使用MongoDB驱动程序直接与数据库交互。ThinkPHPORM:使用对象表示MongoDB文档,自动转换操作为数据库操作。MongoDB扩展库:提供封装MongoDB驱动程序的高级支持,例如聚合和全文本搜索。根据灵活性、对象化和高级功能的需求,选择合适的方法。原生PHP接口灵活性高,ORM简化操作,扩展库提供高级功能。
thinkphp操作mongo数据的三种方法
2024-04-02

python操作MongoDB的方法是什么

这篇文章主要介绍“python操作MongoDB的方法是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“python操作MongoDB的方法是什么”文章能帮助大家解决问题。MongoDB 是一个基
2023-06-28

C#操作XML的方法是什么

本篇内容主要讲解“C#操作XML的方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C#操作XML的方法是什么”吧!C# 操作XML的全过程实例第一步:在项目文件里创建db文件夹,在db文
2023-06-18

COBOL操作VSAM的方法是什么

COBOL操作VSAM的方法是通过使用COBOL的特定语句和关键字来访问和处理VSAM数据集。以下是COBOL操作VSAM的常见方法:使用文件控制块(File Control Block,FCB):在COBOL程序中,可以通过定义一个FC
2023-10-26

php操作ldap的方法是什么

PHP操作LDAP的方法主要有以下几种:1. 使用PHP内置的ldap函数库:PHP提供了一系列用于操作LDAP的函数,如ldap_connect()用于连接LDAP服务器、ldap_bind()用于绑定用户身份、ldap_search()
2023-09-29

C#操作Word的方法是什么

本篇内容主要讲解“C#操作Word的方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C#操作Word的方法是什么”吧!C#操作Word的内涵:C#操作Office套件的时候都需要用到CO
2023-06-17

C#操作MySql的方法是什么

这篇文章主要讲解了“C#操作MySql的方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C#操作MySql的方法是什么”吧!代码介绍功能包含:创建数据库创建数据表批量添加数据MySq
2023-07-05

C#操作excel的方法是什么

这篇文章主要介绍“C#操作excel的方法是什么”,在日常操作中,相信很多人在C#操作excel的方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C#操作excel的方法是什么”的疑惑有所帮助!接下来
2023-06-22

python操作yaml的方法是什么

今天就跟大家聊聊有关python操作yaml的方法是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。一、参考链接https://pyyaml.org/wiki/PyYAMLDocu
2023-06-22

Python操作Excel的方法是什么

本文小编为大家详细介绍“Python操作Excel的方法是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python操作Excel的方法是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。xlwt 是 Py
2023-06-27

python的image用法是什么

在Python中,要处理图像通常需要使用第三方库,最流行的图像处理库是Pillow。Pillow库提供了许多功能,可以用来打开、处理和保存图像。以下是Pillow库的基本用法示例:安装Pillow库:pip install Pillow打
python的image用法是什么
2024-03-07

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录