Verkleinern von Bildern mit Ruby und Imagemagick
Vor kurzem hatte ich das Bedürfnis Bilder automatisiert, mit Hilfe eines Ruby-Scripts, zu verkleinern. Dieses Script sollte zudem ohne Änderungen sowohl auf Linux als auch auf Windows lauffähig sein.
Fuer diese Aufgabe ist Imagemagick natürlich ein super Werkzeug, da man es auch als Bibliothek von Ruby aus nutzen kann und auch für Windows verfuegbar ist. Unter Windows ist hierfür eine Installation von Ruby, sowie die Installation von Imagemagick und dem passenden RMagick Ruby-Gem notwendig. Unter Linux reicht es Imagamagick und Ruby mit dem Paketmanager seiner Wahl zu installieren und mittels “gem install rmagick” das Gem zu installieren.
Der eigentliche Code gestaltet sich relativ simpel. Prinzipiell lässt sich ein Bild mit wenigen Anweisungen verkleinern:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | #!/usr/bin/env ruby</p> require 'rubygems' require 'RMagick' @debug = true def resize\_image(file) puts "let's resize #{file} ..." if @debug img = Magick::Image::read(file).first img.resize\_to\_fit(1024, 1024) img.write(file) puts "resizing of #{file} successful" if @debug end |
Die Methode resize_to_fit() sorgt hier für das Verkleinern auf bestimmte Maximalwerte in Länge und Breite. Weiteres erfährt man aus der Doku.