imageJ
imageJは偉大なり。
全然知らなかったのですが、画像データをテキストデータにして保存したり、テキストデータから画像をおこしたりできるのです!!
imageJで取り込んで、Text imageにして保存。
import System.IO import Control.Monad main = readFile "gameboy.txt" >>= writeFile "gameboy2.txt" .unlines.map (unwords.f.words).lines f :: [String] -> [String] f str = drop 37 str ++ take 37 str
これによって生成されたテキストデータを、imageJでimport.
すると
面白いですね!
カラーは、RGBを一つの数字列で表すためにimageJ側で式計算をしているので、出力結果は濃淡の着いた白黒画像。
今気付いたけどこの画像、音量ダイヤルつけ忘れてる.....
確かコントラストボタンは左側だが、きっとそれもつけてないな
もう一つ。
ソースコード
import System.IO import Control.Monad main = readFile "gameboy.txt" >>= writeFile "gameboy3.txt".unlines.map f.zip'.lines zip' :: [String] -> [(Int,[String])] zip' str = map (\(a,b)->(a,words b)) $ zip [1,2..] str f :: (Int,[String]) -> String f (i,str) = let i' = mod i $ length str in unwords $ drop i' str ++ take i' str