iamapen / dmimage-plugin
Rotate/Flip Filters for DmImage
Installs: 30
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
pkg:composer/iamapen/dmimage-plugin
Requires
- php: >=5.3.1
- ext-exif: *
- ext-gd: *
- demouth/dmimage: dev-master#cf14053c5a57fc001eb124802f0e824bf0f19803
Requires (Dev)
- phpunit/phpunit: ~4.8
This package is auto-updated.
Last update: 2025-12-17 12:51:58 UTC
README
gdラッパの画像処理ライブラリ DmImage 用の拡張。
-
Filters
- 水平反転フィルタ
- 垂直反転フィルタ
- 度数指定による回転フィルタ
-
FilterFactories
- Exif orientation に基づく 回転/反転 フィルタ群
Install
composer require "iamapen/dmimage-plugin" "demouth/dmimage:dev-master#cf14053c5a57fc001eb124802f0e824bf0f19803"
DmImage にタグが打たれていない。
安定バージョンの存在しないライブラリは、利用側(ルートパッケージ) でコミットを指定する必要がある。
現時点(2016-10-20) での最新のコミット cf14053
であり、当ライブラリはこれを前提に作成されている。
DmImage 側のAPIに変更がない限りは @dev 指定でもよいのだが、それは保証されていない。
Usage
水平反転
$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 Orientation に基づく 回転/反転
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 License