rendered paste bodyrequire 'RMagick'include Magickrowsize=135colsize=135img = ImageList.new("foo.png")raise "Row size #{rowsize} is not a multiple of image height #{img.rows}" unless img.rows%rowsize==0raise "Column size #{rowsize} is not a multiple of image width #{img.columns}" unless img.rows%colsize==0rows=img.rows/rowsizecols=img.columns/colsizeputs <<EOS<?xml version="1.0"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" baseProfile="tiny">EOScols.times do |colindex| rows.times do |rowindex| subimg=img.crop(rowindex*rowsize,colindex*colsize,colsize,rowsize) print "<image x=\"#{rowindex*rowsize}\" y=\"#{colindex*colsize}\" width=\"#{colsize}\" height=\"#{rowsize}\" type=\"image/png\" xlink:href=\"#{colindex}-#{rowindex}.png\" />" subimg.write("#{colindex}-#{rowindex}.png") end putsendputs "</svg>"