ministryofweb/image-fix-exif-orientation 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

ministryofweb/image-fix-exif-orientation

最新稳定版本:1.0.0

Composer 安装命令:

composer require ministryofweb/image-fix-exif-orientation

包简介

Automatically rotates an image based on its orientation stored in Exif data. Supports GD and ImageMagick/IMagick.

README 文档

README

This library automatically rotates an image based on its orientation stored in Exif data. Supports GD and ImageMagick/IMagick.

Requirements

  • PHP 7.3+ compiled with --enable-exif
  • at least one of the GD or IMagick extensions

License

This library is licensed under the MIT License.

Installation

composer require mjaschen/image-fix-exif-orientation

Usage

The following example is also located in the examples sub-directory and can directly be run from there.

<?php

declare(strict_types=1);

use MinistryOfWeb\ImageFixExifOrientation\Fixer\Gd;
use MinistryOfWeb\ImageFixExifOrientation\Fixer\ImageMagick;
use MinistryOfWeb\ImageFixExifOrientation\Image;
use MinistryOfWeb\ImageFixExifOrientation\OrientationFixer;
use MinistryOfWeb\ImageFixExifOrientation\Output\Filesystem;
use MinistryOfWeb\ImageFixExifOrientation\Output\ImageString;

// please initialize Composer vendor directory first (by running `composer install`)
require_once dirname(__DIR__) . '/vendor/autoload.php';

// (1) load existing image from file system; it's possible to initialize an Image
// instance from a string as well
$image = new Image(dirname(__DIR__) . '/tests/fixtures/Landscape_3.jpg');
//$image = Image::fromString($imageData);

// (2) initialize Fixer class, can be either GD oder ImageMagick,
// depending on what image manipulation extension is preferred.
$fixer = new Gd(90);
//$fixer = new ImageMagick(90);

// (3) initialize output class, in this case we write to a temporary file
// in the file system; getting the image data as a string is also possible
$output = new Filesystem(tempnam(sys_get_temp_dir(), 'ministryofweb-exif-fix') . '.jpg');
//$output = new ImageString();

// (4) initialize the fixer
$fixer = new OrientationFixer($fixer, $output);

// (5) fix the image
$fixer->fix($image);

echo 'Fixed image: ' . $output->getFile() . PHP_EOL;

Development

Run unit tests with:

./vendor/bin/phpunit

There are some tests which actually work with test images and create corrected versions. It's possible to inspect those images after running the tests by opening the tests/fixtures/fixtures.html with a web browser.

There are two sets of images (landscape, portrait), each set provides one image for each of the nine possible Exif orientation values (0-8). So in total there are 18 test images.

Test Images

For testing the images from Dave Perret (https://github.com/recurser/exif-orientation-examples) are used. They're licensed under the MIT License.

统计信息

  • 总下载量: 2.35k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 1
  • 点击次数: 4
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 1
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2019-11-15

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固