require 'cairo'
format = Cairo::FORMAT_ARGB32
 width = 300
 height = 200
 radius = height / 6 # 半径
surface = Cairo::ImageSurface.new(format, width, height)
 context = Cairo::Context.new(surface)

 context.set_source_rgb(1, 1,1) # 白
 context.rectangle(100, 0, width, height)
 context.fill
 context.set_source_rgb(1, 1, 0) # ao
 context.arc(width / 8, height / 8, radius, 0, 2 * Math::PI)
 context.fill
 
 context.fill
 context.set_source_rgb(0, 1, 1) # ao
 context.set_line_width(2)
 context.move_to(100,0)
 context.line_to(200,50)
 context.move_to(200,50)
 context.line_to(150,50)
 context.move_to(150,50)
 context.line_to(200,100)
 context.move_to(200,100)
 context.line_to(0,100)
 context.move_to(0,100)
 context.line_to(50,50)
 context.move_to(50,50)
 context.line_to(0,50)
 context.move_to(0,50)
context.line_to(100,0)
context.move_to(80,100)
context.line_to(80,200)
context.move_to(80,200)
context.line_to(120,200)
context.move_to(120,200)
context.line_to(120,100)
 context.stroke
 context.fill
 surface.write_to_png("tree.png")
