Thumbshooter
Generates thumbshots of URLs by using Webkit and QT4.
Requirements
Please ensure python-qt4 and qt4-webkit is installed.
apt-get install libqt4-ruby libqt4-webkit
You do also need a running x server. You can use a lightweight x server by doing "apt-get install xvfb" and enabling it:
Thumbshooter.use_xvfb = true
Usage
#Setup options:
shooter = Thumbshooter.new(
:screen => '800x600',
:resize => '600x450',
:crop => '200x150'
)
#Generate thumbnail:
img = shooter.create('http://github.com/')
#Write thumbnail to file:
File.open('thumbshot.png', 'w') {|f| f.write(img) }
Options for Thumbshooter class:
**screen**
:screen => '<width>x<height>'
example:
:screen => '800x600'
**resize**
:resize => '<width>x<height><scaling_option>'
scaling_option [optional]:
% - image will be resized proportionaly by percentage
# - image will be resized proportionaly by width
example:
:resize => '200x150'
:resize => '200x150#'
:resize => '80x50%'
**crop**
:crop => '<width>x<height><scaling_option>'
scaling_option [optional]:
% - image will be cropped proportionaly by percentage
example:
:crop => '200x150'
:crop => '80x50%'
important:
size of croped area is based on effect of previous process:
:screen if :resize is not set
:resize if :resize is set
croped area is always gravity center of image
TO-DO
Croping and resizing image should have more options, similar to "thoughtbot's Paperclip"(http://github.com/thoughtbot/paperclip) .
License
Copyright (c) 2009 Julian Kornberger | Digineo GmbH Germany released under the GNU license