Task: Source image (source), Watermark image (watermark). Required: tile watermark over source
              rows = (source.rows.to_f/watermark.rows).ceil
              cols = (source.columns.to_f/watermark.columns).ceil
              wcolumns = watermark.columns
              wrows = watermark.rows
              lightness = 0.2
              rows.times do |row|
                cols.times do |col|
                  source = source.watermark(
                    watermark,
                    lightness,
                    1.0, 
                    col * wcolumns, 
                    row * wrows
                  )
                end
              end
              image = StringIO.new(source.to_blob(){self.format='JPEG'})