image

  • フォト Amazonギフト券
    ※この時計の時刻は、閲覧しているパソコンのものであり、必ずしも正確な時間とは限りません

検索

最近のトラックバック

無料ブログはココログ

« 2008年6月14日 | トップページ | 2008年6月18日 »

2008年6月15日

2008-06-15

ピックアップ:『初めてのRuby』余った切れ端, 秋葉原で職務質問に素直に応じないと こーなる, etc...

- http://yugui.jp/wiki/LearningRuby-GarbageCollection
> > yugui wiki - 『初めてのRuby』余った切れ端

- http://fkmn.exblog.jp/7205922/
> > フッ君の日常 : Emacs で C とか Perl とか Ruby のデバッグをすると気持ちいい

- http://www.javaworld.com/javaworld/jw-06-2008/jw-06-opensourcejava-pdf-renderer.html
> > Open source Java projects: SwingLabs PDF Renderer - Java World

- http://blog.livedoor.jp/geek/archives/50676870.html
> > 今、秋葉原で職務質問に素直に応じないと、こーなる - アキバBlog

- http://japanese.engadget.com/2008/06/14/pc-mac-usb-efix/
> > 一般のPCを手軽にMac化するEFiX - Engadget Japanese

- http://souryuusei.blog61.fc2.com/blog-entry-95.html
> > 『斬(ZAN)』 自分のなかで、はてブが終わった日

プログラムで生成した画像を rails で表示する

gruff, cairo をつかって画像生成し、それを rails で表示させることができた。

view では次のようにする。
<img src="<%= url_for :controller=>'graphview', :action=>'graph_foo' %>">

controller では次のようにする。
class GraphviewController < ApplicationController

  def graph_foo
    # case: using gruff
    #----------------------
    #    @company = Company.find(params[:company_dbid])
    #
    #    g = Gruff::Line.new 500
    #    g.labels = {0 => 'Day 0', 1 => 'Day 2',
    #                2 => 'Day 4', 3 => 'Day 10'}   
    #    g.data("xx", [30, 20, 60, 50])
    #    g.minimum_value = 0
    #
    #    # :disposition => "inline"
    #    send_data(g.to_blob, :type => 'image/png')

    # case: using rcairo
    #----------------------
    format = Cairo::FORMAT_ARGB32
    width = 300
    height = 200
    radius = height / 3

    # 日の丸を描く
    surface = Cairo::ImageSurface.new(format, width, height)
    context = Cairo::Context.new(surface)

    context.set_source_rgb(1, 1, 1)
    context.rectangle(0, 0, width, height)
    context.fill

    context.set_source_rgb(1, 0, 0)
    context.arc(width / 2, height / 2, radius, 0, 2 * Math::PI)
    context.fill

    # surface.write_to_png("hinomaru.png") # ファイルへ出力

    # 文字列として出力
    s = StringIO.new
    surface.write_to_png(s)
    send_data(s.string, :type => 'image/png')
  end

environment.rb では次を追加しておく。
require 'gruff'
require 'cairo'
require 'stringio'

« 2008年6月14日 | トップページ | 2008年6月18日 »

mokuji

2013年12月
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        

google

  • twitter
  • __
  • _
    Googleボットチェッカー

合わせて読む

  • 合わせて読む
    フィードメーター - katoy: cocolog あわせて読みたい

リンク