jpgのグリッチをもうちょっと。

こちらのpythonのコードをrubyで書いて幾つかのパターンを作ってみた。

#!/usr/bin/env ruby

require 'rubygems'
require 'mini_magick'
require 'base64'

path = ARGV.first
img = MiniMagick::Image.open(path)
txt = Base64.encode64(open(path, 'rb') {|f| f.read }).gsub(/\n/, '')
num = img[:width] * img[:height] / 10000

(1..32).each do |i|
  glitched_txt = txt.split(//).map do |c|
    if c == '0' and rand(num) == 0
      rand(9).to_s
    else
      c
    end
  end.join
  open("glitched-#{i}.jpg", 'wb') {|f| f.write(Base64.decode64(glitched_txt)) }
end

glitch

glitched-16

こっちの方が怖くていいな。

参照:サケグリッチ

Comments


Option