Fork me on GitHub
Please upgrade to 2.1.x here. The 2.0 branch is no longer being updated.
Important security fix: 2.1.10, released 4 May.

Resample images

edited February 2011 in Vanilla 2.0 Help
This discussion is related to the FileUpload addon.
I know this is general purpose allowing uploading many file types, but for images it would be great if FileUpload could have a setting to re-sample images to conform to a configured maximum X & Y dimensions while maintaining aspect ratio.

Comments

  • Yes, it would be great !
  • Yes, i think so too. It would also nice to have a lightbox to view the images.
  • moensmoens New
    edited March 2011
    Tim has said that in the next version of FileUpload, this feature will be added... but here is a very naive way to make this work in the mean time (if you have GD php module):

    Using FileUpload 1.4.0, in the class.fileupload.plugin.php after the PostController_Upload_Create function checks for $maxUploadSize on lines 597 - 601, add the following to resize the temp file before it is moved:

    // Added to auto re-size images over 650px x 650px
    $FileParams = getimagesize($FileTemp);
    if ( ($FileParams[0] > 650) || ($FileParams[1] > 650) ) {
    include_once('/EDIT/THIS/PATH/TO/SimpleImage.php');
    $resizedImage = new SimpleImage();
    $resizedImage->load($FileTemp);
    if ($FileParams[0] >= $FileParams[1]) {
    $resizedImage->resizeToWidth(650);
    } else {
    $resizedImage->resizeToHeight(650);
    }
    $resizedImage->save($FileTemp);
    $FileSize = filesize($FileTemp);
    }
    //end add

    ...then save this image resize class* somewhere (I put it in the same dir as the class.fileupload.plugin.php in the FileUpload plugin).

    In this case, it checks for images larger than 650px x 650px and resizes them... you could, obviously, be more creative, but I had very simple requirements.

    *Props to Simon Jarvis for his gift of a neat and simple php image resize class.
Sign In or Register to comment.