Fantastic piece of functionality - something a current project needed, and somethnig all content management sites potentially need when people with less appreciation for the importance of image optimsation.
I had the need to be able to configure both the maximum width and height of images so I have tweaked the code as follows:
WaffelAutoCompress.config I added the following line below the targetwidth setting
<targetheight>800</targetheight>
Then within the WaffelImageCompressor.cs file I removed the following code
int longest = originalBMP.Width > originalBMP.Height ? originalBMP.Width : originalBMP.Height;
if (allowUpscale != "true" && longest < targetWidth) upscaleConflict = true;
//If no upscale conflict is found proceed with image scaling and compression. if (!upscaleConflict) { //Set correct width and height for scaled image int imgWidth, imgHeight; if (originalBMP.Width > originalBMP.Height) { imgWidth = targetWidth; imgHeight = originalBMP.Height * targetWidth / originalBMP.Width; } else { imgWidth = originalBMP.Width * targetWidth / originalBMP.Height; imgHeight = targetWidth; }
And replaced it with the following code
if (allowUpscale != "true" && (originalBMP.Width < targetWidth || originalBMP.Height < targetHeight)) { upscaleConflict = true; }
//If no upscale conflict is found proceed with image scaling and compression. if (!upscaleConflict) { //Set correct width and height for scaled image int imgWidth, imgHeight; var ratioX = (double)targetWidth / originalBMP.Width; var ratioY = (double)targetHeight / originalBMP.Height; var ratio = Math.Min(ratioX, ratioY); imgWidth = (int)(originalBMP.Width * ratio); imgHeight = (int)(originalBMP.Height * ratio);
So far it is working nicely and obeying the maximum rules. I've only just got it running and tested it, but thought I'd drop the code in here for others to reference, and/or for you to consider adding to your package.
The above I did find on the mighty interweb so can't take credit for the code, merely the mushing together of the code...
Again, thanks for the nice piece of functionality.
Update to provide both height and width maximums
Hi Ernst
Fantastic piece of functionality - something a current project needed, and somethnig all content management sites potentially need when people with less appreciation for the importance of image optimsation.
I had the need to be able to configure both the maximum width and height of images so I have tweaked the code as follows:
WaffelAutoCompress.config
I added the following line below the targetwidth setting
Then within the WaffelImageCompressor.cs file I removed the following code
And replaced it with the following code
So far it is working nicely and obeying the maximum rules. I've only just got it running and tested it, but thought I'd drop the code in here for others to reference, and/or for you to consider adding to your package.
The above I did find on the mighty interweb so can't take credit for the code, merely the mushing together of the code...
Again, thanks for the nice piece of functionality.
Regards, Nigel
Thanks for your kind feedback, and thanks for sharing code :) Glad to see that people are using and customizing this package to fit their needs.
I'll see if I cant get the Umbraco 6 version out during easter with some extra functionality. Its long overdue ;)
is working on a reply...