您的当前位置:首页>全部文章>文章详情

【PHP】使用intervention/image给图片添加文字和图片

CrazyPanda发表于:2024-04-02 19:37:33浏览:279次TAG:

准备

使用composer安装

composer require intervention/image

我安装的版本是2.7

一、 给图片添加文字

use Intervention\Image\ImageManagerStatic as Image;
 
public function addTextToImage($imagePath, $text, $fontPath, $x = 10, $y = 10)
{
    $image = Image::make($imagePath);
    $image->text($text, $x, $y, function($font) use ($fontPath) {
        // 设置字体样式、大小、颜色等
        $font->file($fontPath);
        $font->size(24);
        $font->color('#ffffff');
        $font->align('left');
        $font->valign('top');
    });
 
    // 保存或输出图片
    $image->save('new_image_path.jpg');
    // 或者直接输出到浏览器
    // return $image->response('jpg');
}
 
// 使用示例
$imagePath = 'path/to/your/image.jpg';
$text = 'Your Text Here';
$fontPath = 'path/to/your/font.ttf'; // 你的字体文件路径
 
$this->addTextToImage($imagePath, $text, $fontPath);


二、 给图片添加图片

use Intervention\Image\ImageManagerStatic as Image;
 
// 初始化ImageManager
$imageManager = new Image();
 
// 加载背景图片
$background = $imageManager->make('background.jpg');
 
// 加载要添加的图片
$overlay = $imageManager->make('overlay.png')->resize(100, 100); // 设置要添加的图片大小
 
// 设置图片位置
$x = 100; // 横向位置
$y = 100; // 纵向位置
 
// 将$overlay图片合并到$background图片上
$background->insert($overlay, 'top-left', $x, $y);
 
// 保存或输出图片
$background->save('output.jpg'); // 保存到文件
// 或者
$background->response('jpg'); // 直接输出到浏览器


猜你喜欢

【PHP】php常见的集群有哪些
php常见的集群有LAMP集群、Nginx集群、Memcached集群、Redis集群和Hadoop集群。详细介绍:1、LAMP集群,LAMP是指Linux、Apache、MySQL和PHP的组合,是一种常见的PHP开发环境,在LAMP集群中,多个服务器运行相同的应用程序,并通过负载均衡器将请求分发到不同的服务器上;2、Nginx集群,Nginx是一种高性能的Web服务器等等。本教程操作系统:windows10系统、PHP 8.1.3版本、DELL G3电脑。PHP是一种广泛使用的服务
发表于:2023-12-06 浏览:368 TAG:
【PHP】PHP依赖注入
PHP依赖注入(Dependency Injection,DI)是一种软件设计模式,可以减少代码耦合,使得类鱼类之间的依赖关系更加清晰。以下是一个简单的PHP依赖注入的例子:<?php   interface StorageInterface {     public function store($data); }   class DatabaseStorage im
发表于:2024-06-17 浏览:232 TAG:
【PHP】Laravel的生命周期面试
在Laravel框架中,生命周期(Lifecycle)指的是从请求到达应用到应用响应请求的一系列过程。这个过程包括了从路由解析到最终视图渲染或响应发送的一系列中间件、控制器逻辑和事件处理。理解Laravel的生命周期对于开发高质量、可维护的应用至关重要。下面是一些关键的环节和概念,可以帮助你准备Laravel生命周期的面试:
发表于:2025-03-20 浏览:48 TAG: #php #laravel
【PHP】如何在PHP中使用Imagick库处理图片?
引言:在Web开发中,经常需要对图片进行处理和优化,Imagick是一个强大的PHP扩展库,可以实现各种图片处理操作,比如图片裁剪、缩放、旋转、添加文字等。本文将介绍如何使用Imagick库在PHP中处理图片,并给出具体的代码示例。一、安装Imagick库1.确认是否已安装Imagick库在终端中输入以下命令,查看是否已安装Imagick库:php -m | grep imagic登录后复制登录后复制如果没有输出,则说明未安装Imagick库,需要进行安装
发表于:2024-03-25 浏览:359 TAG:
【PHP】关于bug率计算和它的实际意义
问题1:bug率有什么作用?my opion:用处有很多,需要具体情况具体分析,不过主要作用一般是来评价工作产品的质量。如果bug率较高,说明系统质量较差,需要大量的返工。项目经理就需要做好缺陷分析(缺陷的类型、分布、严重程度等),找出原因,以便做好下一阶段的缺陷预防工作。除此之外,还可以结合其它方面的信息,判断是否一些工作不充分。譬如,如果缺陷密度过低,有两个原因:可能工作产品质量确实高;也可能评审或测试不充分,更多的缺陷没有发现。在某些公司,bug率也作为项目度量考核的一项指标。问题2:bu
发表于:2024-06-22 浏览:260 TAG:
【PHP】php在数组后面增加一列
在 PHP 中,要在数组后面增加一列,我们可以采用 array_push() 函数或直接赋值的方式来实现。下面我们来介绍一下这两种方法。方法一:使用 array_push() 函数array_push() 函数可将一个或多个元素添加到数组末尾,我们可以利用此函数在数组后面增加一列。具体实现的方式如下:<?php // 定义一个数组 $oldArr = array(     array('name&#39
发表于:2023-12-18 浏览:337 TAG:
【PHP】用PHP从数据库到后端到前端完整实现一个中秋节祝福语项目
文章目录🚀一、前言🚀二、开发环境准备🚀三、功能实现🍁3.3.1 HTML布局🍁3.3.2 JQuery事件处理🍁3.2.1 连接数据库🍁3.2.1 获取祝福语🍁3.2.3 处理请求🍁3.2.4 配置Nginx与FPM🍁3.1.1 创建数据库及表结构🍁3.1.2 准备数据🔎3.1 准备数据库和数据🔎3.2 后端开发🔎3.3 前端开发🚀四、运行和测试🔎4.1 绑定host🔎4.2 开始测试🚀五、总结中秋佳节即将来临!在这特殊的时刻,我们特别举办一场属于程序员的中秋
发表于:2023-12-06 浏览:446 TAG:
【PHP】删除文件为什么会失败
php删除文件失败的原因:文件在删除时仍然被其他线程或进程占用。解决方法:首先手动释放文件对象,避免因为被其他线程或进程占用而导致删除失败;然后利用unlink()函数删除文件即可。原因分析:文件仍然被其他进程占用。所以我们最好释放下文件对象,避免因为被其他线程或进程占用而导致删除失败。(推荐教程:php图文教程)unlink() 函数删除文件。如果成功,该函数返回 TRUE。如果失败,则返回 FALSE。(视频教程推荐:php视频教程)代码实现:1234567891011121314
发表于:2023-12-06 浏览:595 TAG:
【PHP】一文搞懂MySQL数据库分库分表
如果数据量过大,大家一般会分库分表。分库需要注意的内容比较少,但分表需要注意的内容就多了。工作这几年没遇过数据量特别大的业务,那些过亿的数据,因为索引设置合理,单表性能没有影响,所以实战中一直没用过分表。最近手里有个项目,预估数据量会很大,分表方案是选项之一,趁着这次机会,把分表的内容整理一下。这次要讲的主要是水平分库分表,其它种类的分库、分表比较容易理解。后面如果不详细说明
发表于:2024-07-17 浏览:244 TAG: #mysql
【PHP】PHP8.0新函数解析:str_contains()
hp 8.0是php编程语言的最新版本,它带来了许多新的功能和增强功能,其中一个新函数是str_contains()。该函数是用于确定一个字符串是否包含另一个字符串的。在本篇文章中,我们将探讨str_contains()函数的用法和示例,以及它如何与PHP的其他字符串函数协同工作。一、str_contains()函数的定义str_contains()函数可以在PHP中用来确定一个字符串是否包含另一个字符串。它可以取两个字符串作为输入参数,并返回一个布尔值,如果在第一个字符串中包含第二个字符串,
发表于:2024-07-26 浏览:245 TAG: