PHPackages                             karmabunny/bacon-backends - 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. [API Development](/categories/api)
4. /
5. karmabunny/bacon-backends

ActiveLibrary[API Development](/categories/api)

karmabunny/bacon-backends
=========================

v1.0.0(3y ago)0627↑535.7%MITPHP

Since Oct 26Pushed 3y ago5 watchersCompare

[ Source](https://github.com/Karmabunny/bacon-backends)[ Packagist](https://packagist.org/packages/karmabunny/bacon-backends)[ RSS](/packages/karmabunny-bacon-backends/feed)WikiDiscussions master Synced yesterday

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

Additional Bacon QR backends
============================

[](#additional-bacon-qr-backends)

Some extra backends for Bacon QR.

These might work a bit more reliably than others, particularly in constrained hosting environments.

- ImagickDumbBackEnd
- GdImageBackEnd

### ImagickDumbBackEnd

[](#imagickdumbbackend)

The built-in imagick backend is (currently) broken in PHP 8. So this is a backend that wraps the SVG backend and pipes it through the `convert` CLI tool provided by imagick.

Generally we've found the PHP imagick extension a bit questionable anyway. Sprout 3, for example, departed from the imagick extensions in Sprout 2 and uses the `convert` tool exclusively.

Caveats: Might not work on Windows. Makes heavy use of `proc_open()`.

### GdImageBackEnd

[](#gdimagebackend)

This is a *very* limited backend but has enough bits to draw a basic QR code.

GD is widely available, more than imagick. So this is a big win for those tight environments.

Caveats: Many.

- No gradients.
- No rotation.
- No layers.
- No curves or ellipsis.

You might ask, why not write a renderer instead of an image backend? The answer is - I didn't even realise that was an option. It might be easier, might be harder. Might actually be far more robust. So maybe that's a thing for the future.

Usage
-----

[](#usage)

```
use BaconQrCode\Renderer\ImageRenderer;
use BaconQrCode\Renderer\RendererStyle\RendererStyle;
use BaconQrCode\Writer;
use karmabunny\BaconBackends\GdImageBackEnd;
use karmabunny\BaconBackends\ImagickDumbBackEnd;

$renderer = new ImageRenderer(
    new RendererStyle(400),
    new ImagickDumbBackEnd(),
    // or new GdImageBackEnd(),
);
$writer = new Writer($renderer);
$writer->writeFile('Hello World!', 'qrcode.png');
```

Contributing
------------

[](#contributing)

Be sure to write a test. We've got some pretty funky stuff going on in there but it validates the use case.

Run tests with `composer test`.

Pleas also run `composer analyse` over anything before releasing.

### Future

[](#future)

Some things to do, for fun and profit.

- GD renderer (as opposed to the image backend)
- HTML renderer

###  Health Score

26

—

LowBetter than 41% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity18

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity47

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

1345d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/11b33084210490439a6fb2c0b277e0bf39f8d0e368f20bebb703834003a617df?d=identicon)[karmabunny](/maintainers/karmabunny)

---

Top Contributors

[![gwillz](https://avatars.githubusercontent.com/u/3466850?v=4)](https://github.com/gwillz "gwillz (10 commits)")

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Type Coverage Yes

### Embed Badge

![Health badge](/badges/karmabunny-bacon-backends/health.svg)

```
[![Health](https://phpackages.com/badges/karmabunny-bacon-backends/health.svg)](https://phpackages.com/packages/karmabunny-bacon-backends)
```

###  Alternatives

[statamic/cms

The Statamic CMS Core Package

4.8k3.6M985](/packages/statamic-cms)[craftcms/cms

Craft CMS

3.6k3.6M3.1k](/packages/craftcms-cms)[grumpydictator/firefly-iii

Firefly III: a personal finances manager.

23.9k69.5k](/packages/grumpydictator-firefly-iii)[typo3/cms

TYPO3 CMS is a free open source Content Management Framework initially created by Kasper Skaarhoj and licensed under GNU/GPL.

1.2k1.9M122](/packages/typo3-cms)[jason-munro/cypht

Lightweight Open Source webmail written in PHP and JavaScript

1.6k157.9k](/packages/jason-munro-cypht)[roundcube/roundcubemail

The Roundcube Webmail suite

7.1k2.4k3](/packages/roundcube-roundcubemail)

PHPackages © 2026

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