byjg/imageutil

PHP中GD库的包装集合。

4.9.0 2024-01-05 23:05 UTC

This package is auto-updated.

Last update: 2024-09-16 04:20:28 UTC


README

Build Status Opensource ByJG GitHub source GitHub license GitHub release

PHP中GD库的包装集合。定义了一套易于使用的翻转、裁剪、缩放、水印等方法。

安装

composer require "byjg/imageutil"

创建图像

<?php
// From the file system
$img = new ImageUtil('path_to_image.png');

// From an URL
$img2 = new ImageUtil('http://somesite/someimage.jpg');

// From an existing resource image
$resourceImg = imagecreatetruecolor(200, 300);
$img3 = new ImageUtil($resourceImg);

// Or empty image
$img4 = ImageUtil::empty(200, 300, new Color(255, 255, 255));

翻转图像

以所需方式镜像给定图像。

<?php
$img = new ImageUtil('wheel.png');
$img->flip(Flip::Vertical)->resize(120, null)->save('wheel.jpg');

旋转

使用给定角度将图像旋转到任何方向。

<?php
$img = new ImageUtil('wheel.png');
$img->rotate(45);

缩放

将图像缩放到新大小。大小可以在参数中指定。

<?php
$img = new ImageUtil('wheel.png');
$img->resize(640, 480);

缩放为方形

将图像缩放为方形格式并保持纵横比。剩余的空间用提供的RGB颜色填充。

<?php
$img = new ImageUtil('wheel.png');
$img->resizeSquare(200);

缩放并保持纵横比

缩放图像但保持纵横比。剩余的空间用提供的RGB颜色填充。

<?php
$img = new ImageUtil('wheel.png');
$img->resizeAspectRatio(200, 150)

水印图像

在当前图像上水印图像。

<?php
$img = new ImageUtil('wheel.png');
$stamp = new ImageUtil('https://www.mysite.com/logo.png');
$img->stampImage($stamp, StampPosition::BottomRight);

写文本

在图像上写文本。

<?php
$img = new ImageUtil('wheel.png');
$img->writeText('Sample', 0, 70, 45, 'Arial');

裁剪图像

从点($from_x,$from_y)到点($to_x,$to_y)裁剪给定图像。

<?php
$img = new ImageUtil('wheel.png');
$img->crop(250,200,400,250);

设置为透明

使图像透明。必须提供透明颜色。

<?php
$img = new ImageUtil('wheel.png');
$img->makeTransparent(new Color(255, 255, 255));

恢复更改

<?php
$img->restore();

销毁资源

<?php
$img->destroy();

保存图像

<?php
$img->save('filename.gif')

其他功能

<?php
// Get the image dimension
$witdh = $img->getWidth();
$height = $img->getHeight();

// Get the image resource
$resource = $img->getImage();

依赖项

开源ByJG