PHPackages                             byjoby/image-transform - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Image &amp; Media](/categories/media)
4. /
5. byjoby/image-transform

AbandonedArchivedLibrary[Image &amp; Media](/categories/media)

byjoby/image-transform
======================

A tightly-focused library for performing a very limited set of simple image transformations. This library's purpose is to eschew the standard kitchen sink approach to PHP image libraries in favor of high performance, wide driver support, and a dead simple API.

v0.1.1(5y ago)0598MITPHPPHP &gt;=7.1

Since Oct 2Pushed 2y ago1 watchersCompare

[ Source](https://github.com/joby-lol/image-transform)[ Packagist](https://packagist.org/packages/byjoby/image-transform)[ RSS](/packages/byjoby-image-transform/feed)WikiDiscussions main Synced 3w ago

READMEChangelog (2)Dependencies (2)Versions (4)Used By (0)

image-transform
===============

[](#image-transform)

[![Build Status](https://camo.githubusercontent.com/2b905668f04ce64b18aa59d2216426cced6373eac982f14ec7f6d32b10ebd1c3/68747470733a2f2f7472617669732d63692e6f72672f6a6f62796f6e652f696d6167652d7472616e73666f726d2e7376673f6272616e63683d6d61696e)](https://travis-ci.org/jobyone/image-transform)[![Coverage Status](https://camo.githubusercontent.com/eeca7ff5cafa764601cc7c954e58753496af5b8379f23b2cdd2e159c4d1f4dac/68747470733a2f2f636f766572616c6c732e696f2f7265706f732f6769746875622f6a6f62796f6e652f696d6167652d7472616e73666f726d2f62616467652e7376673f6272616e63683d6d61696e)](https://coveralls.io/github/jobyone/image-transform?branch=main)

A tightly-focused library for performing a very limited set of simple image transformations. This library's purpose is to eschew the standard kitchen sink approach to PHP image libraries in favor of high performance, wide driver support, and a dead simple API.

Current state
-------------

[](#current-state)

This library is under active development, and until a 1.0 release is made you should expect it to potentially be broken, and unexpectedly and dramatically change its API and functionality. That said, I *do* have use of this thing for work, so I'm probably going to be working pretty dang hard on it, and hope to have a stable release by about November of 2020.

### Current progress

[](#current-progress)

DriverRotateMirrorResizeCropOverlayGrayscaleColorizeGDXXXXImagickGmagickImagickCLIXXXXRoadmap
-------

[](#roadmap)

### Drivers

[](#drivers)

A 1.0 release will not be made until the following drivers are available and solidly tested:

- GD
- Imagick
- Gmagick
- GmagickCLI

### Transforms

[](#transforms)

A 1.0 release will be made available once the following transforms are available and solidly tested across all drivers. These are basically what I see as the bare minimum for such a library to be useful.

- orientation
    - rotate (in 90 degree increments)
    - mirror-h
    - mirror-v
- size
    - fit (basically an alias for max-width and max-height)
    - cover (scale to cover a box, then crop excess)
    - crop (crop toward the center to a given size)
    - cover-crop (convenience transform, combining cover and crop, useful for thumbnails)

More complex, and also lesser used effects/stages that may or may not make it into 1.0

- color effects
    - grayscale
    - colorize
- content effects
    - overlay
    - blur
    - hue
    - saturation
    - brightness

#### Order of operations

[](#order-of-operations)

In the name of simplicity and ease of use, the effective order of operations will always be as reflected above:

1. Orientation
2. Resizing and cropping
3. Color effects
4. Content-changing effects

###  Health Score

23

—

LowBetter than 26% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity13

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity42

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~537 days

Total

3

Last Release

1025d ago

PHP version history (2 changes)v0.1.0PHP &gt;=7.1

v0.2.x-devPHP &gt;=8.1

### Community

Maintainers

![](https://www.gravatar.com/avatar/f4e606aa41ebfd7d82c365c6dc4ec158fb1b0bfff5f8dcbfad4ab53e3092e6a6?d=identicon)[jobyone](/maintainers/jobyone)

---

Top Contributors

[![joby-lol](https://avatars.githubusercontent.com/u/856610?v=4)](https://github.com/joby-lol "joby-lol (10 commits)")

### Embed Badge

![Health badge](/badges/byjoby-image-transform/health.svg)

```
[![Health](https://phpackages.com/badges/byjoby-image-transform/health.svg)](https://phpackages.com/packages/byjoby-image-transform)
```

###  Alternatives

[char0n/ffmpeg-php

PHP wrapper for FFmpeg application

495240.6k1](/packages/char0n-ffmpeg-php)[goat1000/svggraph

Generates SVG graphs

135911.1k3](/packages/goat1000-svggraph)[gravatarphp/gravatar

Gravatar URL builder which is most commonly called as a Gravatar library

16653.6k2](/packages/gravatarphp-gravatar)[rsoury/wp-imgix

Rewrites WordPress image URLs to use ImgIX

167.2k](/packages/rsoury-wp-imgix)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
