scala/ScalaBook/chapter-06/mkjpeg.scala


// Returns a generated image.
def CreateImage: java.awt.image.RenderedImage = {
  val width = 100
  val height = 100
  // Create a buffered image in which to draw
  val bufferedImage = new java.awt.image.BufferedImage(width, height, 
                          java.awt.image.BufferedImage.TYPE_BYTE_GRAY)
  // Create a graphics contents on the buffered image
  val G = bufferedImage.createGraphics()
  // Draw graphics
  G.setColor(java.awt.Color.white)
  G.fillRect(0, 0, width, height)
  G.setColor(new java.awt.Color(180,180,180))
  G.fillOval(0, 0, width, height)
  // Graphics context no longer needed so dispose it
  G.dispose
  return bufferedImage
}


// Create an image to save
var rendImage = CreateImage
// Write generated image to a file
try {
  val file = new java.io.File("newimage.jpg");
  javax.imageio.ImageIO.write(rendImage, "jpg", file);
} catch  { 
  case e: java.io.IOException => 
    println("Could not create/write JPEG image.\nAboring.")
}