I need a single exe to help with making images smaller.
I would like to use
jpegtran
pngcrush
gifsicle
i want to be able to point the app at a dir and have it analyze each of the images in the dir and use the right app for each type
png crush can use brute force to find a smaller image, if a smaller one cant be made it will skip it
if a gif is found .net will convert to png and then run brute force, if the gif can be smaller with png then it will add the extension .png to the end
for jpeg we will run the jpegtran against it
i want a complete log of what was changed, the percentage and total file size change of each and for the entire dir. log file can be optionally put in each dir where a image was changed
I also want a recursive function to look in nested directories to find all images and not just in the top level.
Last is i want a function to make a recovery folder in each dir where a image was changed and put the original image in that dir
all c# code should be used. make sure to handle large folders and nested, keep an eye on memory and give my ui a different thread so the app doesnt lock up. also give me multiple threads to run against images, so we can be faster in the i/o. net 3.5 is required here with nice commented code. in the future i will want a webservice against this so keep that in mind when you are working on this. next phase is wcf connector
## Deliverables
1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done.
2) Deliverables must be in ready-to-run condition, as follows (depending on the nature of the deliverables):
a) For web sites or other server-side deliverables intended to only ever exist in one place in the Buyer's environment--Deliverables must be installed by the Seller in ready-to-run condition in the Buyer's environment.
b) For all others including desktop software or software the buyer intends to distribute: A software installation package that will install the software in ready-to-run condition on the platform(s) specified in this bid request.
3) All deliverables will be considered "work made for hire" under U.S. Copyright law. Buyer will receive exclusive and complete copyrights to all work purchased. (No GPL, GNU, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site per the coder's Seller Legal Agreement).
## Platform
c#