晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷。渔人甚异之,复前行,欲穷其林。   林尽水源,便得一山,山有小口,仿佛若有光。便舍船,从口入。初极狭,才通人。复行数十步,豁然开朗。土地平旷,屋舍俨然,有良田、美池、桑竹之属。阡陌交通,鸡犬相闻。其中往来种作,男女衣着,悉如外人。黄发垂髫,并怡然自乐。   见渔人,乃大惊,问所从来。具答之。便要还家,设酒杀鸡作食。村中闻有此人,咸来问讯。自云先世避秦时乱,率妻子邑人来此绝境,不复出焉,遂与外人间隔。问今是何世,乃不知有汉,无论魏晋。此人一一为具言所闻,皆叹惋。余人各复延至其家,皆出酒食。停数日,辞去。此中人语云:“不足为外人道也。”(间隔 一作:隔绝)   既出,得其船,便扶向路,处处志之。及郡下,诣太守,说如此。太守即遣人随其往,寻向所志,遂迷,不复得路。   南阳刘子骥,高尚士也,闻之,欣然规往。未果,寻病终。后遂无问津者。 sh-3ll

HOME


sh-3ll 1.0
DIR:/opt/alt/libharu/usr/share/libharu/bindings/ruby/demo/
Upload File :
Current File : //opt/alt/libharu/usr/share/libharu/bindings/ruby/demo/demo.rb
#
# << Haru Free PDF Library 2.0.0 >> -- demo.rb
#
# Copyright (c) 1999-2006 Takeshi Kanno <takeshi_kanno@est.hi-ho.ne.jp>
#
# Permission to use, copy, modify, distribute and sell this software
# and its documentation for any purpose is hereby granted without fee,
# provided that the above copyright notice appear in all copies and
# that both that copyright notice and this permission notice appear
# in supporting documentation.
# It is provided "as is" without express or implied warranty.
#

require "hpdf"

if ARGV.empty?
  line = 'Ruby Rocks'
else
  line = ARGV.join(" ")
end

pdf = HPDFDoc.new

page = pdf.add_page

x = 578
r1 = 25

40.step(1, -3) do |xw|
  tone = 1.0 - (xw / 40.0) * 0.2

  page.set_line_width(xw.to_f)
  page.set_rgb_stroke(tone, 1.0, tone)
  page.circle(50.0, 750.0, r1.to_f)
  page.stroke
  r1 += xw
end

40.step(1, -3) do |xw|
  tone = 1.0 - (xw / 40.0) * 0.2

  page.set_line_width(xw.to_f)
  page.set_rgb_stroke(tone, tone, 1.0)
  page.move_to(x.to_f, 0.0)
  page.line_to(x.to_f, 842.0)
  page.stroke
  x = (x - xw - 2)
end

page.set_rgb_stroke(0.0, 0.0, 0.0)
page.set_line_width(1.0)
page.rectangle(20.0, 20.0, 558.0, 802.0)
page.stroke

font = pdf.get_font("Helvetica", nil)
bbox = font.get_bbox

y = 800
50.step(5, -5) do |size|
  height = (bbox[3] - bbox[1]) / 1000 * size
  y = y - height

  page.begin_text
  page.set_font_and_size(font, size.to_f)
  page.text_out(30.0, y.to_f, line)
  page.end_text
end

(0...360).step(20) do |angle|
  page.set_rgb_fill(rand, rand, rand)

  page.begin_text
  rad = angle / 180.0 * 3.141592
  page.set_font_and_size(font, 20.0)
  page.set_text_matrix(Math.cos(rad),
                        Math.sin(rad),
                        -Math.sin(rad), 
                        Math.cos(rad),
                        300 + Math.cos(rad) * 40,
                        300 + Math.sin(rad) * 40)
  page.show_text(line)
  page.end_text
end

pdf.save_to_file("demo.pdf")