etin / image-manager
PHP基本图像处理函数的简单包装类
dev-master
2020-05-28 00:39 UTC
Requires
- php: >=7.0.0
This package is auto-updated.
Last update: 2024-09-28 09:48:20 UTC
README
PHP基本图像处理函数的简单包装类
如何使用
首先使用Composer安装此库
composer require etin/image-manager
在任何需要的地方导入它,并初始化一个新的图像,如下所示
<?php
use Etin\ImageManager\Image;
$image = new Image("https://cdn.pixabay.com/photo/2015/04/23/21/59/tree-736877_960_720.jpg");
Image构造函数接受任何图像文件的路径。如果提供的路径无法解析为图像,则抛出异常。
图像初始化后,我们现在可以访问库提供的图像处理方法。
可用方法
getWidth()
以像素为单位返回图像的宽度。
getHeight()
以像素为单位返回图像的高度。
addBorder(int $top, int $left, int $bottom, int $right, string $hexColor)
向图像添加边框。此方法流畅,并返回Image实例。它接受边框的尺寸(以像素为单位)和十六进制字符串颜色(例如 "#000")。
addText($text, $positionX="center", $positionY="center", bool $shouldScale=false)
向图像添加文本。要添加的文本可以是ImageText类的实例,该类公开用于在图像上管理文本的方法,或者是一个字符串。第二个和第三个参数确定文本的对齐方式。
renderJpeg(string $fileName=null, int $quality=null)
将图像渲染为JPEG。要将图像渲染为文件,即设置正确的X-Content-Type
标题,请传递文件名作为第一个参数。否则,图像在大多数客户端中作为流渲染。
renderPng(string $fileName=null, int $quality=null)
将图像渲染为PNG。要将图像渲染为文件,即设置正确的X-Content-Type
标题,请传递文件名作为第一个参数。否则,图像在大多数客户端中作为流渲染。
ImageText
ImageText类用于通过Image::addText()方法向图像添加文本。
构造函数接受以下参数
- $text - 要打印在图像上的文本
- $fontPath - 要使用的字体路径(TTF格式)
- $hexColor - 要打印的文本颜色(十六进制字符串,例如 "#fd1234")
- $fontSize - 要使用的字体大小。如果调用ImageText::scale()方法,则可能被覆盖。默认为20pt。
- $fontScale - 缩放文本到图像的因子。默认为1。
- $fontAngle - 文本旋转的角度(度)。默认为0。
<?php
use Etin\ImageManager\Image;
use Etin\ImageManager\ImageText;
$text = new ImageText("This is a MoonCat", "#fff", "path/to/font.ttf", 20, 0.35);
$image = new Image("https://cdn.pixabay.com/photo/2015/04/23/21/59/tree-736877_960_720.jpg");
$image->addText($text)