UploadPicCompression
Goal
Pictures (jpg, png, gif) should/can be compressed on the fly while uploading (Attach:)
So you can upload a picture from Digicam (if you have a fast internet connection:-)
Solution
I found a nice working PHP/GD Script on Yuriy Horobey's website http://horobey.com/demos/imgresize/v5/article/article01.html
(see also Cookbook/ImagesAutoResizing, which might be very useful for a gallery)
The script is a pure php-solution and easy adaptable in the pmwiki environment.
The uploadform gets two addtional fields width/heigh.
- if width and high are blank, no resize
- "*" or blank on one field, proportional resize (very nice)
- some plausi on size
- resize for jpg, png and gif
Changement in config.php
# another Entrypoint instead of upload.php:HandlePostUpload */ SDV($HandleActions['postupload'], 'HandlePostUploadImpr'); # Entrypoint and GD-Picture Compression require("local/resize_image.php"); # Modified Form (from upload.php) for Attach: files.xyz SDV($PageUploadFmt,array(" <div id='wikiupload'> <h2 class='wikiaction'>$[Attachments for] \$FullName</h2> <h3>\$UploadResult</h3> <form enctype='multipart/form-data' action='\$PageUrl' method='post'> <input type='hidden' name='n' value='\$FullName' /> <input type='hidden' name='action' value='postupload' /> <table border='0'> <tr><td align='right'>$[File to upload:]</td><td><input name='uploadfile' type='file' /></td></tr> <tr><td align='right'>opt. for Pics width/height</td><td><input name='w' type='text' size='3' /><input name='h' type='text' size='3' /> Resize in Pixel, *=calculates automatically </td></tr> <tr><td align='right'>$[Name attachment as:]</td> <td><input type='text' name='upname' value='\$UploadName' /> <input type='submit' value=' $[Upload] ' /><br /> </td></tr></table></form></div>", 'wiki:$[PmWiki.UploadQuickReference]'));
Notes and Comments
- the script is easy adaptable in pmwiki
Open Issue March 07 2005
- the function is under development and not quite finished, but it works already.
- Pics are always stored as JPG, gif probably can not be stored as gif (depends on GD-Library)
- So the name of the ending can be different to Attach: file.ending
- Test: http://www.ddy.ch/pm/schulung/pm.wiki/Main/WikiSandbox (At the moment it works unfortunatly only with admin, so you can't make an upload.
- I hope to finish the recipe as soon as possible
Contributors
PatrickOgay - prototype March 7, 2005
User notes? : If you use, used or reviewed this recipe, you can add your name. These statistics appear in the Cookbook listings and will help newcomers browsing through the wiki.