Support for Slim Image Cropper, Responsive Uploading and Ratio Cropping Plugin


pqina supports this item


This author's response time can be up to 2 business days.

Popular questions for this item

Can I use Slim Image Cropper in my Envato product?

You are hereby allowed to use Slim Image Cropper in your Envato product under the following conditions:

  • You can only use Slim Image Cropper in themes sold on ThemeForest.
  • You need to purchase an extended license for each theme you release.
  • You handle support requests related to Slim Image Cropper. Of course support is available for you to integrate Slim Image Cropper in your product.
  • You have to add a link to on your product description page.

If you have any questions or want to use Slim Image Cropper in another type of product, contact me using the support form.

How do I save files to a different directory?

Slim automatically saves files tot the tmp directory.

To use a different directory you can pass it as a third argument to the Slim::saveFile method.
Slim::saveFile($data, $name, 'custom-directory/');

How do I remove the unique id in front of the file name?

Slim automatically adds a unique id in front of the file name so it does not overwrite any other files as two people could both be uploading a file named untitled.jpg.

To disable this feature pass a false value to the Slim::saveFile method.
Slim::saveFile($data, $name, 'tmp/', false);

PHP API Documentation

Does Slim work with ASP.Net? (Or another server-side language that’s not PHP)

The Slim frontend cropper should work with any server side language of your choosing. The included PHP files don’t do any image manipulation they only handle storage of the file. The PHP files are well documented and should give you plenty of info on how to access the data posted by Slim using your favourite server-side language.

Images from other domains (like s3) won’t load.

When loading images from remote domains all sorts of security concerns come into play. Browsers do some testing internally to see if all is fine, if possibly not, the image is not allowed to be used. Slim allows cross domain requests by default, but you’ll have to configure your server to send back the correct request headers.

If that’s not possible you could create a server page that requests and returns the remote image for you with the server page running on your own domain there’s no security concerns.

All or some files are not uploading, I get an unknown error response from server.

Chances are your server is running an older version of PHP, please make sure it’s updated to at least 5.6 or 7.

Can I change the labels on the buttons to another language?

Yes, all labels and icons used in the Slim cropper can be customised to your liking. See the Configuration section for more details.

Slim does not upload some files and others seem to work fine, what’s happening?

It’s possible that these are bigger files and your server is blocking the upload. If you’re running PHP make sure you’ve set your upload_max_filesize and post_max_size to a high enough value. Read the PHP documentation on max file size for more information on how to configure this.

The server is not receiving any files

It’s possible the images are posted but Slim can’t find them because it’s looking in the wrong place.

The Slim::getImages() PHP method tries to find data posted with the name “slim[]” or “slim”, if you’re using another name you can pass that name to the method like so Slim::getImages("myInputFieldName"). This should resolve the issue.

Problems with loading images on mobile devices

Slim stays empty or shows squared pattern? It’s possible that the device cannot load the image because of it’s size. Try to limit the internal canvas size by setting the data-internal-canvas-size property to a lower value. By default it’s set to 4096,4096.

Transparant images get a black background color.

Add a willTransform or data-will-transform callback to your Slim cropper and point it to the following function.

function fill(data, ready) {

    // get the drawing context and size of the output image
    var ctx = data.output.image.getContext('2d');
    var width = data.output.width;
    var height = data.output.height;

    // draw behind current image
    ctx.globalCompositeOperation = 'destination-over';
    ctx.fillStyle = '#fff';
    ctx.fillRect(0, 0, width, height);

    // restore to default composite operation (is draw over current image)
    ctx.globalCompositeOperation = 'source-over';

    // continue saving the data


The delete button is not showing when loading a server image

Add a <input type="file"/> to the Slim container.

Show more

Contact the author

This author provides limited support for this item through email contact form.

Item support includes:

  • Availability of the author to answer questions
  • Answering technical questions about item’s features
  • Assistance with reported bugs and issues
  • Help with included 3rd party assets

However, item support does not include:

  • Customization services
  • Installation services

View the item support policy