PHPackages                             ahtesham/blueprint-image-php - 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. ahtesham/blueprint-image-php

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

ahtesham/blueprint-image-php
============================

A native PHP image generator using JSON blueprints (Satori-like for PHP)

v1.0.0(2mo ago)05MITPHPPHP ^8.1

Since Apr 9Pushed 1mo agoCompare

[ Source](https://github.com/ahtesham-clcbws/blueprint-image-php)[ Packagist](https://packagist.org/packages/ahtesham/blueprint-image-php)[ RSS](/packages/ahtesham-blueprint-image-php/feed)WikiDiscussions main Synced 2w ago

READMEChangelogDependencies (2)Versions (2)Used By (0)

Blueprint Image for PHP
=======================

[](#blueprint-image-for-php)

**Universal JSON-to-Static-UI Engine.**
Render high-fidelity, premium image reports using a familiar flexbox-like JSON schema. No headless browsers, no Puppeteer—just pure, high-performance PHP GD.

---

🖼️ High-Fidelity Gallery
------------------------

[](#️-high-fidelity-gallery)

Operational MonitoringStudent Report Cards[![Operational Monitor](demo_attendance_monitor.png)](demo_attendance_monitor.png)[![Report Card](demo_student_report_card.png)](demo_student_report_card.png)---

🚀 Why Blueprint Image?
----------------------

[](#-why-blueprint-image)

Most image generation libraries either require heavy headless browsers or force you to manually calculate X/Y coordinates for every element. **Blueprint Image** solves this by providing:

- **Two-Pass Reflow Layout Engine**: Automatic measurement and arrangement of nested elements.
- **Intrinsic Sizing**: Containers automatically grow to fit their content.
- **Fluid Layouts**: Auto-expanding canvas height and multi-line text wrapping.
- **Pure PHP GD**: High performance, shared-hosting compatible, no external dependencies.
- **Universal Schema**: Uses the exact same JSON format as modern Satori/HTML-to-SVG engines.

---

📦 Installation
--------------

[](#-installation)

Install via Composer:

```
composer require ahtesham/blueprint-image-php
```

---

🛠️ Quick Start
--------------

[](#️-quick-start)

### 1. Simple Rendering from PHP Array

[](#1-simple-rendering-from-php-array)

```
use Ahtesham\BlueprintImage\BlueprintImage;

$blueprint = [
    'width' => 600,
    'layout' => [
        'type' => 'div',
        'props' => [
            'style' => [
                'backgroundColor' => '#1e293b',
                'padding' => 40,
                'borderRadius' => 20
            ],
            'children' => 'Hello from Blueprint Image!'
        ]
    ]
];

BlueprintImage::make($blueprint)->save('hello_world.png');
```

### 2. Loading from JSON

[](#2-loading-from-json)

```
BlueprintImage::make()->loadJson($jsonString)->save('report.png');
```

---

📘 Documentation
---------------

[](#-documentation)

- [Blueprint Schema Guide](docs/Blueprint-Schema.md) — Comprehensive reference for styles and nodes.
- [Fluid Layout &amp; Wrapping](docs/Fluid-Layout.md) — How to handle variable-length content.
- [Laravel Integration](docs/Laravel-Integration.md) — Facades, Service Providers, and best practices.
- [Dynamic Report Generation](demos/looped_attendance.php) — looping through data to build reports.

---

🛡️ License
----------

[](#️-license)

The MIT License (MIT). Please see [License File](LICENSE) for more information.

---

🤝 Contributing
--------------

[](#-contributing)

Authored by **Ahtesham ** for the Momin Scholar Program and Universal Branding.

###  Health Score

37

—

LowBetter than 81% of packages

Maintenance88

Actively maintained with recent releases

Popularity5

Limited adoption so far

Community6

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

Unknown

Total

1

Last Release

79d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/17913874?v=4)[Ahtesham Abdul Aziz](/maintainers/ahtesham-clcbws)[@ahtesham-clcbws](https://github.com/ahtesham-clcbws)

---

Top Contributors

[![ahtesham-clcbws](https://avatars.githubusercontent.com/u/17913874?v=4)](https://github.com/ahtesham-clcbws "ahtesham-clcbws (3 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/ahtesham-blueprint-image-php/health.svg)

```
[![Health](https://phpackages.com/badges/ahtesham-blueprint-image-php/health.svg)](https://phpackages.com/packages/ahtesham-blueprint-image-php)
```

###  Alternatives

[intervention/image-laravel

Laravel Integration of Intervention Image

1558.1M159](/packages/intervention-image-laravel)[owen-oj/laravel-getid3

This package is a wrapper around james-heinrich/getid3 to extract various information from media files

85501.8k1](/packages/owen-oj-laravel-getid3)[ralphjsmit/laravel-glide

Auto-magically generate responsive images from static image files.

4923.6k5](/packages/ralphjsmit-laravel-glide)

PHPackages © 2026

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