byjg/ imageutil
PHP中GD库的包装集合。
4.9.0
2024-01-05 23:05 UTC
Requires
- ext-gd: *
Requires (Dev)
- ext-imagick: *
- phpunit/phpunit: 5.7.*|7.4.*|^9.6
README
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();