PHPackages                             dkerner/voronoi-obfuscate - 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. dkerner/voronoi-obfuscate

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

dkerner/voronoi-obfuscate
=========================

Create an obfuscated version of a source image

2151↓100%1PHP

Since Aug 30Pushed 8mo ago2 watchersCompare

[ Source](https://github.com/dkerner/voronoi-obfuscate)[ Packagist](https://packagist.org/packages/dkerner/voronoi-obfuscate)[ RSS](/packages/dkerner-voronoi-obfuscate/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

This is currently a work in progress and not completly stable. API not yet final so new versions can break code.!

voronoi-obfuscate
=================

[](#voronoi-obfuscate)

Create an obfuscated version of a source image by using a Voronoi diagram (see. [https://en.wikipedia.org/wiki/Voronoi\_diagram](https://en.wikipedia.org/wiki/Voronoi_diagram))

Getting Started
---------------

[](#getting-started)

Maybe you feel like making "art" from your images or you just like your images obfuscated

Input (200x200px):

[![input](https://raw.githubusercontent.com/dkerner/voronoi-obfuscate/master/demo-images/demo.jpg)](https://raw.githubusercontent.com/dkerner/voronoi-obfuscate/master/demo-images/demo.jpg)

Results:

[![result](https://raw.githubusercontent.com/dkerner/voronoi-obfuscate/master/demo-images/out.jpg)](https://raw.githubusercontent.com/dkerner/voronoi-obfuscate/master/demo-images/out.jpg)

Reduce Size to 100x100px

[![result](https://raw.githubusercontent.com/dkerner/voronoi-obfuscate/master/demo-images/out_100x100.jpg)](https://raw.githubusercontent.com/dkerner/voronoi-obfuscate/master/demo-images/out_100x100.jpg)

Non proportional resize to 400x100px

[![result](https://raw.githubusercontent.com/dkerner/voronoi-obfuscate/master/demo-images/out_400x100.jpg)](https://raw.githubusercontent.com/dkerner/voronoi-obfuscate/master/demo-images/out_400x100.jpg)

Non proportional resize to 100x400px

[![result](https://raw.githubusercontent.com/dkerner/voronoi-obfuscate/master/demo-images/out_100x400.jpg)](https://raw.githubusercontent.com/dkerner/voronoi-obfuscate/master/demo-images/out_100x400.jpg)

### Installing

[](#installing)

```
composer require dkerner/voronoi-obfuscate "@dev"

```

### Usage

[](#usage)

```
// create an obfuscated version of demo.jpg, store it as out.jpg
// and create 500 points
VoronoiObfuscator::createFromImagePath('demo.jpg', 'out.jpg', 500);

// use config and resize the resulting image
$config = new ObfuscatorConfig();
$config->setImagePath('demo.jpg')
    ->setOutputPath('out.jpg')
    ->setCellCount(1000)
    ->setOutputSize(400,800);

VoronoiObfuscator::createFromConfig($config);
```

Or use an image resource as input and output

```
$config = new ObfuscatorConfig();

// set input
$imageRessource = imagecreatefromjpeg('demo.jpg');
$config->setInputResource( $imageRessource )
    ->setCellCount(100)
    ->setOutputSize(100,100);

$processedImageRessource = VoronoiObfuscator::processImage($config);

// use it further however needed
imagejpeg( $processedImageRessource, 'out_processed.jpg');
```

Authors
-------

[](#authors)

- **Daniel Kerner** - [dkerner](https://github.com/dkerner)

License
-------

[](#license)

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details

Acknowledgments
---------------

[](#acknowledgments)

-  with the sroze/PHP-Voronoi-algorithm example which was a great starting point and whose Nurbs classes are used at the moment
-  who needed the image obfuscation

###  Health Score

21

—

LowBetter than 19% of packages

Maintenance45

Moderate activity, may be stable

Popularity15

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity13

Early-stage or recently created project

 Bus Factor1

Top contributor holds 90% 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.

### Community

Maintainers

![](https://www.gravatar.com/avatar/4378a0ec3b36f6d841a7f0094b4cc89892a336e39774952c9858893ceac78daf?d=identicon)[dkerner](/maintainers/dkerner)

---

Top Contributors

[![dkerner](https://avatars.githubusercontent.com/u/702251?v=4)](https://github.com/dkerner "dkerner (9 commits)")[![zippex](https://avatars.githubusercontent.com/u/7262177?v=4)](https://github.com/zippex "zippex (1 commits)")

---

Tags

imageobfuscationphp

### Embed Badge

![Health badge](/badges/dkerner-voronoi-obfuscate/health.svg)

```
[![Health](https://phpackages.com/badges/dkerner-voronoi-obfuscate/health.svg)](https://phpackages.com/packages/dkerner-voronoi-obfuscate)
```

###  Alternatives

[milon/barcode

Barcode generator like Qr Code, PDF417, C39, C39+, C39E, C39E+, C93, S25, S25+, I25, I25+, C128, C128A, C128B, C128C, 2-Digits UPC-Based Extention, 5-Digits UPC-Based Extention, EAN 8, EAN 13, UPC-A, UPC-E, MSI (Variation of Plessey code)

1.5k13.3M39](/packages/milon-barcode)[bkwld/croppa

Image thumbnail creation through specially formatted URLs for Laravel

510496.0k22](/packages/bkwld-croppa)[marc1706/fast-image-size

fast-image-size is a PHP library that does almost everything PHP's getimagesize() does but without the large overhead of downloading the complete file.

959.4M20](/packages/marc1706-fast-image-size)[char0n/ffmpeg-php

PHP wrapper for FFmpeg application

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

Generates SVG graphs

132849.6k3](/packages/goat1000-svggraph)[cohensive/embed

Media Embed (for Laravel or as a standalone).

120370.4k](/packages/cohensive-embed)

PHPackages © 2026

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