This page contains automated test results for code from O'Reilly's Ruby Cookbook. If this code looks interesting or useful, you might want to buy the whole book.
Converting Among Image Formats (written by Antonio Cangiano) | ||
---|---|---|
Code | Expected | Actual |
require 'rubygems' require 'RMagick' img = Magick::Image.read('myimage.png').first img.write('myimage.jpg') Magick::Image.read('JPG:myimage.png') |
Magick::ImageMagickError: Not a JPEG file: starts with 0x89 0x50 `myimage.png': ... |
Magick::ImageMagickError: Not a JPEG file: starts with 0x89 0x50 `myimage.png': from (irb):5:in `read' from (irb):5 from :0 |
img = Magick::Image.read('myimage.png').first img.write('myimage.jpg') # Writes a JPEG img.write('myimage.gif') # Writes a GIF img.write('JPG:myimage') # Writes a JPEG img.write('JPG:myimage.gif') # Writes a JPEG img.format |
"PNG" | "PNG" |
img.format = 'GIF' img.format |
"GIF" | "GIF" |
Magick.formats['GIF'] |
"*rw+" | "*rw+" |
Magick.formats['JPG'] |
"*rw-" | "*rw-" |
Magick.formats['AVI'] |
"*r--" | "*r--" |
Magick.formats['PS'] |
" rw+" | " rw+" |
module Magick [['native_blob?', ?*], ['readable?', ?r], ['writable?', ?w], ['multi_image?', ?+]].each_with_index do |m, i| define_method(m[0]) do |format| code = formats[format] return code && code[i] == m[1] end module_function(m[0]) end end Magick.multi_image? 'GIF' |
true | true |
Magick.multi_image? 'JPG' |
false | false |