scala/ScalaBook/chapter-06/bitchaos.scala


val out = new java.io.FileOutputStream("bitchaos.pbm")
out.write(("P4\n480 480\n").getBytes())
var k=0; var bits=""; val n = 5
for( h <- 1 to 480; w <- 1 to 480) {
      k += 1
      var iprod = h*h*w
      var test2 = iprod.toBinaryString
      var pad = ""
      for (_ <- test2.length  to 27) 
        pad += "0"
      test2 = pad + test2
      bits = bits.concat(test2.charAt(n+7).toString)
      if (k == 8) {
        out.write((java.lang.Integer.parseInt(bits,2)) & 0xFF)
        k = 0;
        bits = ""  
      }
}
out.close()