用于比较图像和高级过滤器的 PHP 库
开源 PHP API 包括对图像比较、智能裁剪、图像混合、GIF 动画、5 种调整大小模式等的支持。
Grafika 是一个非常易于使用且功能强大的图像处理 PHP 库,它融合了一些独特的功能,使软件开发人员能够在其 PHP 应用程序中创建和操作他们的图像和图形。 Grafika 基于 Imagick 和 GD,因此无需担心 GD 和 Imagick API 之间的差异,Grafika 为您规范了这些操作,让您的工作变得轻松。
Grafika 库提供了对基本以及一些高级图像创建和处理功能的支持。该库可用于快速生成图像缩略图并具有非常高的质量。该库还包括对智能剪裁和图像属性处理的支持,只需几行代码。
Grafika 库包含一些使其不同于其他可用 PHP 库的高级功能,例如应用智能裁剪、比较图像、高级过滤器、图像混合、动画 GIF 支持、5 种调整大小模式等等。它还包括对一些常见功能的支持,例如图像克隆、创建空白图像、制作图像副本、在图像上应用水印等等。
开始使用 Grafika
安装 Grafika 的推荐方法是通过 Composer。在您的项目目录中,打开命令行并键入以下命令进行安装。
通过 composer 安装 Grafika
$ composer require kosinix/grafika:dev-master --prefer-dist
通过 PHP API 创建图像
开源 Grafika 库允许软件开发人员通过几行代码在自己的 PHP 应用程序中生成不同类型的图像。制作图像最常见的方法是使用编辑器的 open 方法。您可以在代码中使用 clone 关键字轻松创建空白图像以及创建图像副本。此外,您还可以轻松地混合、填充、翻转、设置不透明度以及调整大小和裁剪图像。
通过PHPAPI创建图像
// Create a Blank Image
use Grafika\Grafika;
$image = Grafika::createBlankImage(100,100);
// Another way is to use editor open method
use Grafika\Grafika;
$editor = Grafika::createEditor();
$editor->open( $image, 'path/to/image.jpg');
//Adjust size of the image
$editor->resizeExact( $image, 200, 100 );
比较 PHP 应用程序中的图像
Grafika 库使软件程序员能够以编程方式比较他们自己的应用程序中的图像。它可以比较两个图像之间的相似性,并让您能够确定两个图像是否相等。很棒的是,它可以进行逐个像素的比较,以确定两个图像是否完全相同。它将比较两个图像是否具有相同的宽度和高度。如果尺寸不同,它将返回 false。如果尺寸相等,它将遍历每个像素。如果其中一个像素不匹配,它将返回 false。使用它们的 RGB(红、绿、蓝)值比较像素。
通过PHP的相似性比较图像
require_once 'path/to/grafika/src/autoloader.php'; // Automatically load our needed classes
use Grafika\Grafika; // Import package
$editor = Grafika::createEditor(); // Create editor
$hammingDistance = $editor->compare( "image1.jpg", "image-2.jpg" );
智能图像裁剪
图像裁剪是从照片或图像中去除不需要的区域。裁剪可用于缩小图像尺寸或更改可用图像的纵横比。 Grafika 库包含基本功能以及通过 PHP 进行的智能裁剪。智能裁剪功能非常有用,库决定裁剪位置并保留图像的重要区域。
PHP个应用程序中的智能图像
$editor->open( $image, $input );
$editor->crop( $image, 200, 200, 'smart' );
$editor->save( $image, 'output.jpg' );
动画 GIF 支持
图像裁剪是从照片或图像中去除不需要的区域。裁剪可用于缩小图像尺寸或更改可用图像的纵横比。 Grafika 库包含基本功能以及通过 PHP 进行的智能裁剪。智能裁剪功能非常有用,库决定裁剪位置并保留图像的重要区域。
通过PHP API飞行GIF
use Grafika\Grafika;
$editor = Grafika::createEditor();
$editor->open( $image, 'animated.gif' );
$editor->flatten( $image );
$editor->save( $image, 'output.gif' );