depage/graphics

depage-graphics 是一个帮助类,用于获取调整大小和优化的图像和缩略图。

dev-master 2014-10-16 00:00 UTC

This package is auto-updated.

Last update: 2024-09-25 09:16:39 UTC


README

depage-graphics 是一个帮助类,用于获取调整大小和优化的图像和缩略图。

Latest Stable Version Build Status

特性

  • 支持 gd 作为基本图像调整大小方法
  • 支持图像magick和graphicsmagick二进制文件以提供更好的图像质量支持
  • 支持优化图像的外部工具,如
    • jpegtran
    • jpegoptim
    • optipng
    • pngcrush
  • composer 支持

您可以将 depage-graphics 与 SLIR,智能 Lencioni 图像调整大小 进行比较。但 SLIR 仅基于 gd,您可以使用 Imagemagick 或 Graphicsmagick 作为转换工具以实现更好的图像质量。

作为图像服务的基本使用

您可以将图形类用作图像服务,以自动调整图像大小、裁剪、转换和优化,或生成缩略图。

要将图像转换为特定操作

/path-to/image.jpg.resize-400x400.jpg
/path-to/image.jpg.r400x400.jpg

/path-to/image.jpg.thumb-100x75.jpg
/path-to/image.jpg.t100x75.jpg

/path-to/image.jpg.crop-200x200-10x10.jpg
/path-to/image.jpg.c200x200-10x10.jpg

您还可以链接操作和参数

/path-to/image.png.resize-400x400.quality-50.background-ffffff.jpg
/path-to/image.png.r400x400.q50.bg-ffffff.jpg

这将使图像大小调整为 400x400 像素,将 jpeg 质量设置为 50,并为透明像素添加白色背景。

基本图像服务

使用 gd 库作为图像服务的基本使用,不进行图像优化

<?php
    require_once(__DIR__ . "/php/Graphics/Graphics.php");

    $imgurl = new Depage\Graphics\Imgurl();
    $imgurl->render()->display();

使用选项的扩展使用

使用图像magick 作为转换实用工具和 jpegtran 和 optipng 作为优化工具的图像服务的扩展使用

<?php
    require_once(__DIR__ . "/php/Graphics/Graphics.php");

    $imgurl = new Depage\Graphics\Imgurl(array(
        'extension' => "im",
        'executable' => "/usr/bin/convert",
        'optimize' => true,
        'optimizers' => array(
            'jpegtran' => "/usr/bin/jpegtran",
            'optipng' => "/usr/bin/optipng",
        ),
    ));
    $imgurl->render()->display();

作为图像编辑/转换工具的使用

<?php
    require_once(__DIR__ . "/php/Graphics/Graphics.php");

    $graphics = new Depage\Graphics\Graphics(array(
        'extension' => "im",
        'executable' => "/usr/bin/convert",
        'optimize' => true,
        'optimizers' => array(
            'jpegtran' => "/usr/bin/jpegtran",
            'optipng' => "/usr/bin/optipng",
        ),
    ));
    $graphics->addResize(400, 400);
    $graphics->addBackground("#ffffff");

    $graphics->render("sourceImage.png", "targetImage.jpg");

Web服务器配置

nginx

location /basedirectory {
    location ~ (?i)/basedirectory/(.*)\.(jpg|jpeg|gif|png)\.([^/]*)\.(jpg|jpeg|gif|png)$ {
        rewrite (?i)^(/basedirectory)/(?!lib/cache/graphics)(.*)$ $1/lib/cache/graphics/$2 last;

        try_files $uri /basedirectory/lib/global/getimage.php;
    }

    try_files $uri $uri/;
}

Apache

@todo

.htacess

RewriteEngine       on
RewriteBase         /

RewriteCond         %{REQUEST_FILENAME}   !-s
RewriteRule         ^(?!lib/cache/graphics)(.*)\.(jpg|jpeg|png|gif)\.([^/]*)\.(jpg|jpeg|png|gif)$ /lib/cache/graphics/$0

RewriteCond         %{REQUEST_FILENAME}   !-s
RewriteRule         ^lib/cache/graphics/(.*)\.(jpg|jpeg|png|gif)\.([^/]*)\.(jpg|jpeg)$ /lib/global/getimage.php [T=image/jpeg]

RewriteCond         %{REQUEST_FILENAME}   !-s
RewriteRule         ^lib/cache/graphics/(.*)\.(jpg|jpeg|png|gif)\.([^/]*)\.(png)$ /lib/global/getimage.php [T=image/png]

RewriteCond         %{REQUEST_FILENAME}   !-s
RewriteRule         ^lib/cache/graphics/(.*)\.(jpg|jpeg|png|gif)\.([^/]*)\.(gif)$ /lib/global/getimage.php [T=image/gif]

使用 Composer 安装

https://getcomposer.org.cn 获取 composer,然后将此添加到您的 composer.json 中。

{
    "require": {
        "depage/graphics": "dev/master"
    }
}

现在运行

composer install

将当前版本的 depage-graphics 安装到您的 vendor 目录中。

先决条件

  • PHP 5.3,以下模块
  • gd 支持
  • 外部二进制文件(可选)
    • convert
    • gm
    • jpegtran
    • jpegoptim
    • optipng
    • pngcrush

更多信息

您可以在: http://github.com/depage/depage-graphics/ 上进行分支

有关 depage-cms 的更多信息,请访问: http://www.depagecms.net/

许可(双重)