PHPackages                             magroski/bob-ross - 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. [File &amp; Storage](/categories/file-storage)
4. /
5. magroski/bob-ross

ActiveLibrary[File &amp; Storage](/categories/file-storage)

magroski/bob-ross
=================

An easy way to upload, manipulate and persist images.

v1.0.6(3y ago)012.9k1MITPHPPHP ^7.1 || ^8

Since May 21Pushed 3y ago1 watchersCompare

[ Source](https://github.com/magroski/bob-ross)[ Packagist](https://packagist.org/packages/magroski/bob-ross)[ RSS](/packages/magroski-bob-ross/feed)WikiDiscussions master Synced today

READMEChangelogDependencies (7)Versions (8)Used By (0)

Bob Ross
========

[](#bob-ross)

This library provides an easy way to upload, manipulate and persist images.

[![Latest Stable Version](https://camo.githubusercontent.com/43c70075d676936a7e24f0554a5d3711bee548b6123be1abe1cc2981cfecbf59/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6d6167726f736b692f626f622d726f73732e7376673f7374796c653d666c6174)](https://packagist.org/packages/magroski/bob-ross)[![Minimum PHP Version](https://camo.githubusercontent.com/7a09b828563f7738e2e72ec4aade8144538bf5d41e1e2e718815c57e3416089f/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7068702d253345253344253230372e312d3838393242462e7376673f7374796c653d666c6174)](https://php.net/)[![CircleCI](https://camo.githubusercontent.com/0d0ee33090be50e1817de6909b97bf9e686268f17d5bbcc4e58118fdd76e1aeb/68747470733a2f2f636972636c6563692e636f6d2f67682f6d6167726f736b692f626f622d726f73732e7376673f7374796c653d736869656c64)](https://circleci.com/gh/magroski/bob-ross)[![GitHub license](https://camo.githubusercontent.com/f48f8d6cf609f5b181b9c3218a85175fe8a5809c7ea400347f39697a5d55065d/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d626c75652e7376673f7374796c653d666c6174)](https://github.com/magroski/bob-ross/blob/master/LICENSE)

[![Bob Ross](https://github.com/magroski/bob-ross/raw/master/bin/bob.jpg)](https://github.com/magroski/bob-ross/blob/master/bin/bob.jpg)

> “We don't make mistakes, just happy little accidents.” - Bob Ross

Usage examples
--------------

[](#usage-examples)

### Upload from multiple sources

[](#upload-from-multiple-sources)

```
$persistenceHandler = new LocalFileSystem();

$painter = new Painter($persistenceHandler);

# From upload form ($_FILE)
$painter->loadFromFileGlobal('profile_pic');

# From file system
$painter->loadFromFileSystem('/home/bob/images/happy_trees.png');

# From Uri
$painter->loadFromUri('https://joyOfPainting.com/bob.png');
```

### Persist to different environments

[](#persist-to-different-environments)

```
# Amazon S3
$s3Handler = new S3(new Config('credentials','key','region));
$painter = new Painter($s3Handler);
$painter->save('myFolder');

# Local
$localHandler = new LocalFileSystem();
$painter = new Painter($localHandler);
$painter->save('myFolder');
```

### Do size manipulations

[](#do-size-manipulations)

```
$localHandler = new LocalFileSystem();
$painter = new Painter($localHandler);
$painter->loadFromFileSystem('/home/img/tree.png');

$painter->saveFixedWidth(1200, '/home/img');
$painter->saveFixedHeight(800, '/home/img');
$painter->saveMaxWidhtHeight(1920, 1080, 'home/img');
$painter->saveThumb(200, 200, '/home/img');
```

### Convert between formats

[](#convert-between-formats)

```
$localHandler = new LocalFileSystem();
$painter = new Painter($localHandler);
$painter->loadFromFileSystem('/home/img/tree.png');
$painter->setImageCovert('bmp');
$painter->save('/home/img');
```

### Change Jpeg quality

[](#change-jpeg-quality)

```
$localHandler = new LocalFileSystem();
$painter = new Painter($localHandler);
$painter->loadFromFileSystem('/home/img/tree.png');
$painter->setJpegQuality(50);
$painter->save('/home/img');
```

###  Health Score

31

—

LowBetter than 68% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity22

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity59

Maturing project, gaining track record

 Bus Factor1

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

Every ~214 days

Recently: every ~251 days

Total

7

Last Release

1261d ago

PHP version history (2 changes)v1.0.0PHP ^7.1

v1.0.6PHP ^7.1 || ^8

### Community

Maintainers

![](https://www.gravatar.com/avatar/7de9d1243823f8924284bcd592f89b99c2e1c010e2388a14f435efc0abc1ed33?d=identicon)[magroski](/maintainers/magroski)

---

Top Contributors

[![magroski](https://avatars.githubusercontent.com/u/2437681?v=4)](https://github.com/magroski "magroski (11 commits)")[![Joilson](https://avatars.githubusercontent.com/u/1915448?v=4)](https://github.com/Joilson "Joilson (2 commits)")

---

Tags

imageupload

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Code StylePHP\_CodeSniffer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/magroski-bob-ross/health.svg)

```
[![Health](https://phpackages.com/badges/magroski-bob-ross/health.svg)](https://phpackages.com/packages/magroski-bob-ross)
```

###  Alternatives

[kartik-v/bootstrap-fileinput

An enhanced HTML 5 file input for Bootstrap 5.x, 4.x, and 3.x with features for file preview for many file types, multiple selection, ajax uploads, and more.

5.4k7.9M13](/packages/kartik-v-bootstrap-fileinput)[unisharp/laravel-filemanager

A file upload/editor intended for use with Laravel 5 to 10 and CKEditor / TinyMCE

2.2k3.3M74](/packages/unisharp-laravel-filemanager)[sopamo/laravel-filepond

Laravel backend module for filepond uploads

215272.2k3](/packages/sopamo-laravel-filepond)[samayo/bulletproof

A simple and secure PHP image uploader

39853.3k4](/packages/samayo-bulletproof)[fof/upload

The file upload extension for the Flarum forum with insane intelligence.

188171.7k15](/packages/fof-upload)[mohorev/yii2-upload-behavior

Upload behavior for Yii 2

128265.5k9](/packages/mohorev-yii2-upload-behavior)

PHPackages © 2026

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