etin/image-manager

PHP基本图像处理函数的简单包装类

dev-master 2020-05-28 00:39 UTC

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)