rcairoをsurfaceに (ruby/sdl)

SDL::Surfaceの様子をチェックする度にSDLのプログラムを書くのが面倒になってきた。
それで、SDL::Surface#save_bmpを使って、displayで表示する方法にしたよ。
surface.save_bmp("/tmp/image.bmp")
`display /tmp/image.bmp`
この2行で済む。
もっと、早くにやれってかんじだが、頭がうまくついてかないよ。
下のプログラムを簡単に試すなら、
irbを立ち上げて、プログラム全部のコピペでOKです。

#!usr/bin/env ruby

require 'rubygems'
require 'sdl'
require 'cairo'

image = Cairo::ImageSurface.new(300, 200)
context = Cairo::Context.new(image)
context.set_source_rgb(1, 1, 1)
context.rectangle(0, 0, 300, 200)
context.fill
context.set_source_rgb(1, 0, 0)
context.arc(150, 100, 67, 0, 2 * Math::PI)
context.fill
surface = SDL::Surface.new_from(image.data,image.width,image.height,32,image.stride,0x00FF0000,0x0000FF00,0x000000FF,0xFF000000)
surface.save_bmp("/tmp/image.bmp")
`display /tmp/image.bmp`
[PR]
by gaziya | 2011-04-14 10:12