Librarians — in their own words

I’ve spent the last couple of days being inspired by Brendan Dawes‘ book “Analog In, Digital Out“, and playing around with ImageMagick and PerlMagick.
This evening, I felt like doing something for Kathryn Greenhill to commiserate with her for not winning the “Best Librarian/Library Blog” Edublog awards, so here’s what you get if you take ImageMagick, 30 minutes of furious Perl coding, a little bit of random font rotation, a suitable JPEG source image, and the RSS feed from Kathryn’s blog…
kg_001
I thought Jessamyn West‘s photo might also make for a cool textual mashup too…
jw_001
In other news, Michael Stephens has gone a little dotty…
dottymichael

6 thoughts on “Librarians — in their own words”

  1. This is really nice… are you planning on sharing the code anytime soon?
    If not, do you fancy doing a series of these (say 10) on high profile library bloggers which we can put up as an exhibition on Eduserv Island?
    Andy.

  2. Hi Andy
    That’s a cool idea — feel free to send me the images and blog links!
    The code is a little ugly and quickly hacked together, but I’ve uploaded it to here:
    http://www.daveyp.com/blog/stuff/intheirownwords/
    You’ll need ImageMagick and the PerlMagick Perl module installed. You’ll also need an input image (“input.jpg”) and a file of text (“input.txt”) which could be the text from an RSS feed.
    The code isn’t commented, but the basic flow is…
    1) read in the text file and do a quick and dirty regex to remove tags (this isn’t perfect, but I don’t mind that)
    2) resize the input image to a max width or height of 100 pixels
    3) generate a text file containing the RGB data of the resized image
    4) for each pixel, take the RGB value and use that to decide the fontsize for each letter (white = largest), and use a little randomness to jiggle the letters position and rotation
    6) output the final PNG image (“output.png”)
    The final image will probably need to be cropped manually.

Leave a Reply

Your email address will not be published. Required fields are marked *