cairo で線分と円周の落書き
どうでもいい試しのコード。
require 'bundler/setup' require 'cairo' require './cairo_gtk' W = 300; H = 300 Surface = Cairo::ImageSurface.new(Cairo::FORMAT_ARGB32, W, H) C = Cairo::Context.new(Surface) C.set_source_rgb(0, 0, 0) C.rectangle(0, 0, W, H) C.fill line = lambda do |x1, y1, x2, y2| C.move_to(x1, y1) C.line_to(x2, y2) C.stroke end circle = lambda do |x, y, r| C.arc(x, y, r, 0, 2 * Math::PI) C.stroke end C.set_source_rgb(1, 1, 1) line[150, 200, 250, 0] line[150, 200, 250, -50] line[150, -50, 350, 150] circle[150, 0, 100] circle[150, 50, 100] cairo_gtk(Surface, W, H)