UPDATE: lossless image size reduction of whole folders
smushit.com reduces image sizes dramatically, lossless!
Great for logos/icons…, but does not work for gifs!
I put together a small script to automate smushing (as long as i cannot find a popper API).
Usage
ruby smush.rb http://my.file.com/123.png where/to/save.png
Install
requires ruby and rubygems
sudo gem install json
Store this into smush.rb
optional(if this task is to full/gets blocked):
cange the &task=89266837334214400 to something else or use random
#smush.rb
def store_smushed_image(url,file)
File.open(file,'w') do |f|
f.puts smushed_image_data_for(url)
end
end
def smushed_image_data_for(url)
require 'cgi'
url = CGI.escape url
require 'net/http'
require 'rubygems'
require 'json'
http = Net::HTTP.new('smushit.com')
path = "/ws.php?img=#{url}&task=89266837334214400&id=paste2"
resp, data = http.get(path, nil)
raise "oops #{resp}" unless resp.is_a? Net::HTTPOK
path = "/#{JSON.parse(data)['dest']}"
resp, data = http.get(path, nil)
data
end
#http://smushit.com/ws.php?img=http%3A%2F%2Fwww.famfamfam.com%2Flab%2Ficons%2Fsilk%2Ficons%2Fdrink_empty.png&task=89266837334214400&id=paste2
url = ARGV[0] || "http://www.famfamfam.com/lab/icons/silk/icons/drink_empty.png"
file = ARGV[1] || 'out.png'
store_smushed_image(url,file)
2 thoughts on “Automatically reduce image sizes with smushit”