gomzyakov/image-placeholder
最新稳定版本:v1.1.0
Composer 安装命令:
composer require gomzyakov/image-placeholder
包简介
Simple image placeholder generator on PHP
README 文档
README
A simple package that allows you to create placeholder images for your PHP website.
Features
- 🎉 Deterministic output by seed
- 🏞️ PNG binary output ready to save or stream
- 🔒 Size and component bounds clamped for safety
- 🦄 Zero external binaries; pure PHP + GD
Examples
Below are sample outputs generated by this library:
Requirements
- PHP 8.3+
ext-gdenabled (for image creation and PNG encoding)
Installation
composer require gomzyakov/image-placeholder
Usage
<?php use Gomzyakov\ImagePlaceholder; $generator = new ImagePlaceholder(); // Generate a 320x180 PNG as binary string (deterministic by seed) $png = $generator->generate(320, 180, seed: 'my-seed', cx: 4, cy: 3); // Save to disk file_put_contents(__DIR__ . '/placeholder.png', $png);
Send as HTTP response
<?php use Gomzyakov\ImagePlaceholder; $generator = new ImagePlaceholder(); $png = $generator->generate(48, 48, 'avatar-seed'); header('Content-Type: image/png'); header('Content-Length: ' . strlen($png)); echo $png;
API
string ImagePlaceholder::generate( int $width, int $height, string $seed = 'default', int $cx = 4, int $cy = 3 )
- width, height: Target image size in pixels. Clamped to [1..2000].
- seed: Any string. Same inputs → identical output PNG.
- cx, cy: BlurHash component counts. Clamped to [1..9].
Returns a PNG binary string. Throws RuntimeException if image creation fails.
Determinism
The placeholder is generated from a pseudo-random source seeded by seed. Using the same tuple (width, height, seed, cx, cy) produces identical PNG output.
Testing
Run the test suite:
composer phpunit
License
MIT — see LICENSE.
Support
Found an issue or have a suggestion? Please open an issue in the repository: https://github.com/gomzyakov/image-placeholder.
统计信息
- 总下载量: 382
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 2
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-10-05


