PHPackages                             haunt-jonathan/image-cropper - 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. haunt-jonathan/image-cropper

ActiveSilverstripe-vendormodule[Image &amp; Media](/categories/media)

haunt-jonathan/image-cropper
============================

CitaNZ's image cropper for SilverStripe 4, with versioning

1.0(3y ago)0106MITPHP

Since Mar 26Pushed 3y ago1 watchersCompare

[ Source](https://github.com/haunt-jonathan/image-cropper)[ Packagist](https://packagist.org/packages/haunt-jonathan/image-cropper)[ Docs](https://github.com/haunt-jonathan/image-cropper)[ RSS](/packages/haunt-jonathan-image-cropper/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (1)Dependencies (1)Versions (2)Used By (0)

CitaNZ's Image Cropper
======================

[](#citanzs-image-cropper)

It's a continious development of Salted Herring's Cropper Field for SilverStripe - 4 ()

### Usage

[](#usage)

1. Install

```
composer require haunt-jonathan/image-cropper

```

2. /dev/build?flush=all
3. Sample code:

    ```
    ...
    use Cita\ImageCropper\Model\CitaCroppableImage;
    use Cita\ImageCropper\Fields\CroppableImageField;
    ...
    private static $has_one = array(
        'Photo'     =>  CitaCroppableImage::class
    );

    public function getCMSFields()
    {
        $fields = parent::getCMSFields();
        ...
        // adding a free cropper
        $fields->addFieldToTab(TAB_NAME, CroppableImageField::create('PhotoID', A_TITLE_TO_THE_FILED));

        // adding cropper with ratio
        $fields->addFieldToTab(TAB_NAME, CroppableImageField::create('PhotoID', A_TITLE_TO_THE_FILED)->setCropperRatio(16/9));
        ...
        return $fields;
    }
    ```
4. Add image &gt; upload/select &gt; save &gt; edit &gt; do your cropping &gt; save
5. Output

    ```
    $Photo
    $Photo.Cropped
    $Photo.Cropped.SetWidth(100)
    ```

### AWS support

[](#aws-support)

If you are using SS's S3 assets module to store your images, you may also want to add this into your site's config yaml

```
SilverStripe\Admin\LeftAndMain:
  extra_requirements_javascript:
    - 'resources/vendor/haunt-jonathan/image-cropper/client/js/s3-workaround.js'

```

###  Health Score

22

—

LowBetter than 23% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity9

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity44

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

1139d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/f8423c262a170e5128ce3648adb15c275da1c5f26dd18460c32be3788b859dd4?d=identicon)[haunt](/maintainers/haunt)

---

Top Contributors

[![haunt-jonathan](https://avatars.githubusercontent.com/u/113562365?v=4)](https://github.com/haunt-jonathan "haunt-jonathan (4 commits)")

---

Tags

cropperjsimage-croppercropper toolsilverstripe image cropper

### Embed Badge

![Health badge](/badges/haunt-jonathan-image-cropper/health.svg)

```
[![Health](https://phpackages.com/badges/haunt-jonathan-image-cropper/health.svg)](https://phpackages.com/packages/haunt-jonathan-image-cropper)
```

###  Alternatives

[heyday/silverstripe-responsive-images

Configure and send a series of image size options to the client without loading any resources until a media query can be executed.

5387.7k6](/packages/heyday-silverstripe-responsive-images)[michaeld555/filament-croppie

Croppie Js Implementation Field for Filament forms

123.1k](/packages/michaeld555-filament-croppie)[chrometoaster/silverstripe-image-quality

Adds Quality function to images

1013.0k1](/packages/chrometoaster-silverstripe-image-quality)[dnadesign/silverstripe-lazyloaded-image

Implements the LQIP (Low Quality Image Placeholder) pattern powered by lazysizes

1011.4k4](/packages/dnadesign-silverstripe-lazyloaded-image)

PHPackages © 2026

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