iamapen/dmimage-plugin

DmImage的旋转/翻转过滤器

0.1.2 2016-10-20 12:53 UTC

This package is auto-updated.

Last update: 2024-09-17 10:04:35 UTC


README

gdラッパの画像処理ライブラリ DmImage 用の拡張。

  • 过滤器

    • 水平翻转过滤器
    • 垂直翻转过滤器
    • 根据角度指定的旋转过滤器
  • FilterFactories

    • 基于Exif方向的旋转/翻转过滤器组

安装

composer require "iamapen/dmimage-plugin" "demouth/dmimage:dev-master#cf14053c5a57fc001eb124802f0e824bf0f19803"

DmImage 未打上标签。
没有稳定版本的库需要在使用方(根包)中指定提交。

当前最新提交(2016-10-20)是 cf14053,此库基于此创建。
只要DmImage侧的API没有变化,也可以用 @dev 指定,但这没有保证。

使用方法

水平翻转

$filters = [];
$filters[] = new \Iamapen\DmImagePlugin\DmImage\Filter\HFlip();

$image = new \Dm_Image_File($src);
$image->applyFilters($filters)->saveTo($dest, 'jpg', 90);

垂直翻转

$filters = [];
$filters[] = new \Iamapen\DmImagePlugin\DmImage\Filter\VFlip();

$image = new \Dm_Image_File($src);
$image->applyFilters($filters)->saveTo($dest, 'jpg', 90);

旋转

指定旋转角度来创建右旋转或左旋转的过滤器。

$filters = [];
// 右180度回転
$filters[] = \Iamapen\DmImagePlugin\DmImage\Filter\Rotate::createByRightAngle(180);
// 左90度回転
$filters[] = \Iamapen\DmImagePlugin\DmImage\Filter\Rotate::createByLeftAngle(90);

$image = new \Dm_Image_File($src);
$image->applyFilters($filters)->saveTo($dest, 'jpg', 90);

基于Exif方向的旋转/翻转

使用 FactoryExif::createFilters($orientation) 可以生成相应的过滤器组。

// Exif情報取得
$exif = exif_read_data($src);

// Orientation からふさわしいフィルタ群生成
$filters = [];
if(array_key_exists('Orientation', $exif)) {
  $filters = \Iamapen\DmImagePlugin\DmImage\Filter\FactoryExif::createFilters($exif['Orientation']);
}

// フィルタ適用
$image = new \Dm_Image_File($src);
$image->applyFilters($filters)->saveTo($dest, 'jpg', 90);

许可证

MIT许可证