php-imagine/imagine

PHP Object Oriented image manipulation library

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 22 minutes ago
Added to GitGenius on September 15th, 2026
Created on May 20th, 2010
Open Issues & Pull Requests: 28 (+0)
GitHub issues: Enabled
Number of forks: 527
Total Stargazers: 4,470 (+0)
Total Subscribers: 127 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 2.6 hours
Mean response time: 427.1 days
90th percentile: 2989.0 days
Tracked items: 7

Most active contributors

Sign in to see contributor activity.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 3
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 1,436 days
Stale 30+ days: 3
Stale 90+ days: 3

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • feature (1)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

Imagine is a PHP object-oriented image manipulation library that provides a unified API across multiple underlying image processing backends.

The library solves the problem of inconsistent interfaces across PHP's native image processing extensions by wrapping GD2, Imagick, and Gmagick in a common object-oriented API inspired by Python's PIL. Developers work with a single set of methods regardless of which backend is installed, abstracting away the differences between these low-level libraries. The core functionality includes image manipulation operations like resize and crop, a drawing API for creating shapes and writing text, masking capabilities for applying transparency effects, and a filter system for more advanced transformations.

Teams should adopt this library when they need portable image processing code that can run on different server environments without rewriting logic. It suits projects that require basic to intermediate image manipulation without wanting to depend on a specific PHP extension. The library works with PHP 7.1 and later, though older versions support earlier PHP releases. The choice of backend depends on what extensions are available in the deployment environment, giving flexibility across different hosting scenarios.

The project maintains automated testing across multiple drivers with test groups that skip unsupported operations based on the available backend. Pull requests are integrated into a develop branch while the master branch tracks stable releases. The test suite accounts for driver-specific limitations, such as operations requiring multi-layer support that only work with certain backends.