ruby-gd 0.7.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,146 @@
1
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
2
+ <HTML>
3
+ <HEAD>
4
+ <TITLE>Method Index --- manual.rmi </TITLE>
5
+ </HEAD>
6
+ <BODY>
7
+ <H1>Method Index -- manual.rmi</H1>
8
+ <HR>
9
+ <DL>
10
+ </UL></DD>
11
+ <DT>GD
12
+ <DD><UL>
13
+ <LI><A HREF="manual.html#label:13">GD::AlphaOpaque</A>
14
+ <LI><A HREF="manual.html#label:12">GD::AlphaTransparent</A>
15
+ <LI><A HREF="manual.html#label:14">GD::Arc</A>
16
+ <LI><A HREF="manual.html#label:4">GD::Brushed</A>
17
+ <LI><A HREF="manual.html#label:15">GD::Chord</A>
18
+ <LI><A HREF="manual.html#label:18">GD::Edged</A>
19
+ <LI><A HREF="manual.html#label:9">GD::GD2_FMT_COMPRESSED</A>
20
+ <LI><A HREF="manual.html#label:10">GD::GD2_FMT_RAW</A>
21
+ <LI><A HREF="manual.html#label:17">GD::NoFill</A>
22
+ <LI><A HREF="manual.html#label:16">GD::Pie</A>
23
+ <LI><A HREF="manual.html#label:5">GD::Styled</A>
24
+ <LI><A HREF="manual.html#label:6">GD::StyledBrushed</A>
25
+ <LI><A HREF="manual.html#label:7">GD::Tiled</A>
26
+ <LI><A HREF="manual.html#label:8">GD::Transparent</A>
27
+ </UL></DD>
28
+ <DT>GD::Font
29
+ <DD><UL>
30
+ <LI><A HREF="manual.html#label:157">GD::Font::GiantFont</A>
31
+ <LI><A HREF="manual.html#label:158">GD::Font::LargeFont</A>
32
+ <LI><A HREF="manual.html#label:159">GD::Font::MediumFont</A>
33
+ <LI><A HREF="manual.html#label:160">GD::Font::SmallFont</A>
34
+ <LI><A HREF="manual.html#label:161">GD::Font::TinyFont</A>
35
+ <LI><A HREF="manual.html#label:150">GD::Font.new</A>
36
+ <LI><A HREF="manual.html#label:152">GD::Font#height</A>
37
+ <LI><A HREF="manual.html#label:153">GD::Font#nchars</A>
38
+ <LI><A HREF="manual.html#label:154">GD::Font#offset</A>
39
+ <LI><A HREF="manual.html#label:155">GD::Font#width</A>
40
+ </UL></DD>
41
+ <DT>GD::Image
42
+ <DD><UL>
43
+ <LI><A HREF="manual.html#label:22">GD::Image.new</A>
44
+ <LI><A HREF="manual.html#label:23">GD::Image.newFromGd</A>
45
+ <LI><A HREF="manual.html#label:25">GD::Image.newFromGd2</A>
46
+ <LI><A HREF="manual.html#label:27">GD::Image.newFromGd2Part</A>
47
+ <LI><A HREF="manual.html#label:29">GD::Image.newFromJpeg</A>
48
+ <LI><A HREF="manual.html#label:31">GD::Image.newFromPng</A>
49
+ <LI><A HREF="manual.html#label:33">GD::Image.newFromXbm</A>
50
+ <LI><A HREF="manual.html#label:35">GD::Image.newFromXpm</A>
51
+ <LI><A HREF="manual.html#label:41">GD::Image.newTrueColor</A>
52
+ <LI><A HREF="manual.html#label:24">GD::Image.new_from_gd</A>
53
+ <LI><A HREF="manual.html#label:26">GD::Image.new_from_gd2</A>
54
+ <LI><A HREF="manual.html#label:28">GD::Image.new_from_gd2_part</A>
55
+ <LI><A HREF="manual.html#label:30">GD::Image.new_from_jpeg</A>
56
+ <LI><A HREF="manual.html#label:32">GD::Image.new_from_png</A>
57
+ <LI><A HREF="manual.html#label:34">GD::Image.new_from_xbm</A>
58
+ <LI><A HREF="manual.html#label:36">GD::Image.new_from_xpm</A>
59
+ <LI><A HREF="manual.html#label:39">GD::Image.stringFT</A>
60
+ <LI><A HREF="manual.html#label:38">GD::Image.stringTTF</A>
61
+ <LI><A HREF="manual.html#label:42">GD::Image.trueColor</A>
62
+ <LI><A HREF="manual.html#label:45">GD::Image.trueColorAlpha</A>
63
+ <LI><A HREF="manual.html#label:119">GD::Image#alpha</A>
64
+ <LI><A HREF="manual.html#label:118">GD::Image#alphaBlending=</A>
65
+ <LI><A HREF="manual.html#label:61">GD::Image#arc</A>
66
+ <LI><A HREF="manual.html#label:90">GD::Image#blue</A>
67
+ <LI><A HREF="manual.html#label:88">GD::Image#bounds</A>
68
+ <LI><A HREF="manual.html#label:89">GD::Image#boundsSafe</A>
69
+ <LI><A HREF="manual.html#label:81">GD::Image#char</A>
70
+ <LI><A HREF="manual.html#label:82">GD::Image#charUp</A>
71
+ <LI><A HREF="manual.html#label:50">GD::Image#colorAllocate</A>
72
+ <LI><A HREF="manual.html#label:110">GD::Image#colorAllocateAlpha</A>
73
+ <LI><A HREF="manual.html#label:52">GD::Image#colorClosest</A>
74
+ <LI><A HREF="manual.html#label:114">GD::Image#colorClosestAlpha</A>
75
+ <LI><A HREF="manual.html#label:54">GD::Image#colorDeallocate</A>
76
+ <LI><A HREF="manual.html#label:55">GD::Image#colorExact</A>
77
+ <LI><A HREF="manual.html#label:112">GD::Image#colorExactAlpha</A>
78
+ <LI><A HREF="manual.html#label:57">GD::Image#colorResolve</A>
79
+ <LI><A HREF="manual.html#label:116">GD::Image#colorResolveAlpha</A>
80
+ <LI><A HREF="manual.html#label:91">GD::Image#colorsTotal</A>
81
+ <LI><A HREF="manual.html#label:75">GD::Image#copy</A>
82
+ <LI><A HREF="manual.html#label:76">GD::Image#copyMerge</A>
83
+ <LI><A HREF="manual.html#label:77">GD::Image#copyMergeGray</A>
84
+ <LI><A HREF="manual.html#label:121">GD::Image#copyResampled</A>
85
+ <LI><A HREF="manual.html#label:78">GD::Image#copyResized</A>
86
+ <LI><A HREF="manual.html#label:62">GD::Image#dashedLine</A>
87
+ <LI><A HREF="manual.html#label:47">GD::Image#destroy</A>
88
+ <LI><A HREF="manual.html#label:63">GD::Image#fill</A>
89
+ <LI><A HREF="manual.html#label:66">GD::Image#fillToBorder</A>
90
+ <LI><A HREF="manual.html#label:123">GD::Image#filledArc</A>
91
+ <LI><A HREF="manual.html#label:122">GD::Image#filledEllipse</A>
92
+ <LI><A HREF="manual.html#label:64">GD::Image#filledPolygon</A>
93
+ <LI><A HREF="manual.html#label:65">GD::Image#filledRectangle</A>
94
+ <LI><A HREF="manual.html#label:101">GD::Image#gd</A>
95
+ <LI><A HREF="manual.html#label:102">GD::Image#gd2</A>
96
+ <LI><A HREF="manual.html#label:93">GD::Image#getPixel</A>
97
+ <LI><A HREF="manual.html#label:92">GD::Image#getTransparent</A>
98
+ <LI><A HREF="manual.html#label:94">GD::Image#green</A>
99
+ <LI><A HREF="manual.html#label:95">GD::Image#height</A>
100
+ <LI><A HREF="manual.html#label:96">GD::Image#interlace</A>
101
+ <LI><A HREF="manual.html#label:48">GD::Image#interlace=</A>
102
+ <LI><A HREF="manual.html#label:127">GD::Image#is_palette?</A>
103
+ <LI><A HREF="manual.html#label:126">GD::Image#is_trueColor?</A>
104
+ <LI><A HREF="manual.html#label:103">GD::Image#jpeg</A>
105
+ <LI><A HREF="manual.html#label:104">GD::Image#jpegStr</A>
106
+ <LI><A HREF="manual.html#label:67">GD::Image#line</A>
107
+ <LI><A HREF="manual.html#label:79">GD::Image#paletteCopy</A>
108
+ <LI><A HREF="manual.html#label:105">GD::Image#png</A>
109
+ <LI><A HREF="manual.html#label:106">GD::Image#pngStr</A>
110
+ <LI><A HREF="manual.html#label:68">GD::Image#polygon</A>
111
+ <LI><A HREF="manual.html#label:69">GD::Image#rectangle</A>
112
+ <LI><A HREF="manual.html#label:97">GD::Image#red</A>
113
+ <LI><A HREF="manual.html#label:98">GD::Image#rgb</A>
114
+ <LI><A HREF="manual.html#label:70">GD::Image#setBrush</A>
115
+ <LI><A HREF="manual.html#label:71">GD::Image#setPixel</A>
116
+ <LI><A HREF="manual.html#label:72">GD::Image#setStyle</A>
117
+ <LI><A HREF="manual.html#label:73">GD::Image#setTile</A>
118
+ <LI><A HREF="manual.html#label:83">GD::Image#string</A>
119
+ <LI><A HREF="manual.html#label:86">GD::Image#stringFT</A>
120
+ <LI><A HREF="manual.html#label:85">GD::Image#stringTTF</A>
121
+ <LI><A HREF="manual.html#label:84">GD::Image#stringUp</A>
122
+ <LI><A HREF="manual.html#label:128">GD::Image#thickness=</A>
123
+ <LI><A HREF="manual.html#label:124">GD::Image#to_paletteImage</A>
124
+ <LI><A HREF="manual.html#label:59">GD::Image#transparent</A>
125
+ <LI><A HREF="manual.html#label:107">GD::Image#wbmp</A>
126
+ <LI><A HREF="manual.html#label:99">GD::Image#width</A>
127
+ </UL></DD>
128
+ <DT>GD::Polygon
129
+ <DD><UL>
130
+ <LI><A HREF="manual.html#label:131">GD::Polygon.new</A>
131
+ <LI><A HREF="manual.html#label:134">GD::Polygon#addPt</A>
132
+ <LI><A HREF="manual.html#label:145">GD::Polygon#bounds</A>
133
+ <LI><A HREF="manual.html#label:135">GD::Polygon#deletePt</A>
134
+ <LI><A HREF="manual.html#label:136">GD::Polygon#getPt</A>
135
+ <LI><A HREF="manual.html#label:146">GD::Polygon#length</A>
136
+ <LI><A HREF="manual.html#label:137">GD::Polygon#map</A>
137
+ <LI><A HREF="manual.html#label:139">GD::Polygon#offset</A>
138
+ <LI><A HREF="manual.html#label:142">GD::Polygon#scale</A>
139
+ <LI><A HREF="manual.html#label:140">GD::Polygon#setPt</A>
140
+ <LI><A HREF="manual.html#label:141">GD::Polygon#toPt</A>
141
+ <LI><A HREF="manual.html#label:143">GD::Polygon#transform</A>
142
+ <LI><A HREF="manual.html#label:147">GD::Polygon#vertices</A>
143
+ </DD>
144
+ </DL>
145
+ </BODY>
146
+ </HTML>
data/extconf.rb ADDED
@@ -0,0 +1,79 @@
1
+ =begin
2
+
3
+ usage: ruby extconf.rb [options ...]
4
+ configure options:
5
+ --with-xpm : enables Xpm support
6
+ --with-ttf : enables TrueType font support
7
+ --with-jpeg : enables Jpeg support
8
+ --with-freetype : enables FreeType 2.x support
9
+
10
+ --with-gd-dir=dir
11
+ --with-gd-include=dir
12
+ --with-gd-lib=dir
13
+
14
+ --enable-gd2_0 : enable new features provided by gd-2.0.x(beta).
15
+ =end
16
+ require 'mkmf'
17
+
18
+ def delete_link(libname)
19
+ lib_ary = $libs.split
20
+ libname = '-l'+libname
21
+ lib_ary.delete libname
22
+ $libs = lib_ary.join " "
23
+ end
24
+
25
+ dir_config("gd", "/usr/local/include", "/usr/local/lib")
26
+
27
+
28
+
29
+ if with_config("xpm")
30
+ dir_config("X11", "/usr/X11R6/include", "/usr/X11R6/lib")
31
+ end
32
+
33
+ if with_config('jpeg')
34
+ have_library('jpeg')
35
+ end
36
+
37
+ if with_config('ttf')
38
+ have_library('ttf')
39
+ end
40
+
41
+ if with_config('xpm')
42
+ have_library('X11')
43
+ have_library('Xpm')
44
+ end
45
+
46
+ if with_config('freetype')
47
+ have_library('freetype')
48
+ end
49
+
50
+ if have_library('z') and have_library('png') and
51
+ have_library('gd', 'gdImagePng') and have_library('m')
52
+
53
+ if with_config('ttf') and not have_func('gdImageStringTTF')
54
+ delete_link('ttf')
55
+ end
56
+
57
+ have_func('gdImageColorResolve')
58
+
59
+ if with_config('xpm') and not have_func('gdImageCreateFromXpm')
60
+ delete_link('Xpm')
61
+ delete_link('X11')
62
+ end
63
+
64
+ if with_config('jpeg') and not have_func('gdImageCreateFromJpeg')
65
+ delete_link('jpeg')
66
+ end
67
+
68
+ if with_config('freetype') and not have_func('gdImageStringFT')
69
+ delete_link('freetype')
70
+ end
71
+
72
+ if enable_config("gd2_0", false)
73
+ if have_func("gdImageAlphaBlending")
74
+ $CFLAGS += ' -DENABLE_GD_2_0'
75
+ end
76
+ end
77
+
78
+ create_makefile('GD')
79
+ end
data/readme.en ADDED
@@ -0,0 +1,55 @@
1
+ = Ruby/GD 0.7.4
2
+
3
+ An extension library to use Thomas Boutell's gd graphics library from
4
+ Ruby. You can create PNG or JPEG images with your Ruby script.
5
+
6
+ Ruby/GD requires gd library with PNG support(i.e. the version 1.6 or
7
+ later). See 'doc/INSTALL.en' for detail.
8
+
9
+ The latest version is available from:
10
+ http://kirara.prec.kyoto-u.ac.jp/~tam/GD/
11
+
12
+ Ruby/GD is formerly known as "GD", originally written and maintained
13
+ by Yukihiro "matz" Matsumoto (matz@ruby-lang.org). From this release
14
+ of 0.7.0, Ruby/GD is maintained by Ryuichi Tamura (tam@kais.kyoto-u.ac.jp).
15
+
16
+ == Changes from the version 0.6.2
17
+
18
+ * GIF I/O are no longer supported. You can use PNG I/O instead.
19
+ * Support for API provided by the newest version of gd (gd-1.8.4).
20
+
21
+ == Contents
22
+
23
+ readme.en this file
24
+ readme.ja Japanese version of this file
25
+ extconf.rb ruby script generating Makefile for this extension library
26
+ GD.c source file
27
+
28
+ doc/INSTALL.en how to install (in English)
29
+ doc/INSTALL.ja how to install (in Japanese)
30
+ doc/manual.rd Reference manual written with RD format
31
+ doc/manual.html manual converted into HTML
32
+
33
+ sample/example.rb sample script to show the basic usage of Ruby/GD library
34
+ sample/gdtestttf.rb translated Ruby script from gdtestttf.c
35
+ sample/gdtestttf.png ./gdtestttf.rb > gdtestttf.png
36
+ sample/webpng.rb translated Ruby script from webpng.c
37
+
38
+ == Install
39
+
40
+ see 'doc/INSTALL.en'
41
+
42
+ == Reference
43
+
44
+ see 'doc/manual.html'
45
+
46
+ == Licence
47
+
48
+ Ruby Libraru Licence
49
+
50
+ == Maintainer
51
+
52
+ Ryuichi Tamura (tam@kais.kyoto-u.ac.jp)
53
+
54
+ Bug reports, comments, suggestions to this maintainer are welcome, but
55
+ ruby-talk mailing list would be the best place for discussion :-).
data/readme.ja ADDED
@@ -0,0 +1,74 @@
1
+ = Ruby/GD 0.7.4
2
+
3
+ Thomas Boutell��ˤ��gd�饤�֥���Ruby�������Ѥ��뤿��γ�ĥ�饤�֥�
4
+ ��Ǥ���PNG��JPEG�ե����ޥåȤΥ��᡼�����ڤ˺������뤳�Ȥ��Ǥ��ޤ���
5
+
6
+ Ruby/GD�Ϥ�Ȥ��"GD"��̾�Τ� �ޤĤ�� �椭�Ҥ���(matz@ruby-lang.org)
7
+ �ˤ�äƳ�ȯ����ӥ��ƥʥ󥹤��Ԥ��Ƥ��ޤ��������θ塤�ܲ�gd�ε�ǽ
8
+ ���ѹ�/��ĥ��ȼ�äơ�Ruby�᡼��󥰥ꥹ�ȥ��С�����������¿���Υѥ�
9
+ �����󶡤���ޤ�����
10
+
11
+ Version 0.7.0 �Ǥ�GD-0.6.2���Ȥˤ����Υѥå�������ߡ����Ĥ���̤
12
+ �б��ε�ǽ���ɲä��ޤ�����̾�Τ�GD����Ruby/GD���ѹ�����Ƥ��ޤ���
13
+
14
+ �ǿ��Ǥ� http://kirara.prec.kyoto-u.ac.jp/~tam/GD/ ������ꤹ�뤳�Ȥ�
15
+ �Ǥ��ޤ���
16
+
17
+ == ��С������(��Ρ�GD-0.6.2.tar.gz)����μ���ѹ���
18
+
19
+ * GIF���ݡ��Ȥ��Ǥ��ڤ�
20
+
21
+ gd�饤�֥���version 1.6�ʹߡ�GIF���᡼���������ϥ��ݡ��Ȥ���ߤ� ��
22
+ ������PNG(Portable Network Graphics)���᡼�����б�����褦�ˤʤä�
23
+ ���ޤ�������˽��äơ�Ruby/GD 0.7.0��GIF�˴ؤ��륵�ݡ��Ȥ����Ƽ��ʧ��
24
+ �ޤ�������äơ�Ruby/GD�� gd-1.4 �ʤ�GIF���ݡ��Ȥ�Ԥ�gd�饤�֥�� ��
25
+ ���б����Ƥ��ޤ���
26
+
27
+ * �ǿ���gd�ε�ǽ�ˤ��б�
28
+
29
+ gd-2.0�ʹߤDz�ǽ�Ȥʤä� ��TrueColor���᡼���䥢��ե�����ͥ�ΰ�����
30
+ ���б����Ƥ��ޤ���
31
+
32
+ == ����ʪ
33
+
34
+ readme.ja ���Υե����롣
35
+ readme.en ���Υե�����αѸ��ǡ�
36
+ extconf.rb ��ĥ�饤�֥����Makefile����������ץ�
37
+ GD.c ������
38
+
39
+ doc/INSTALL.ja ���󥹥ȡ�����ˡ(���ܸ�)
40
+ doc/INSTALL.en ���󥹥ȡ�����ˡ(English)
41
+ doc/manual.rd �ޥ˥奢��(English) RD�ե����ޥåȤǽ񤫤�Ƥ��ޤ���
42
+ doc/manual.html ��Υޥ˥奢���HTML���Ѵ�������Ρ�
43
+ doc/manual_index.html �᥽�åɤκ����ե����롣
44
+ doc/manual.css �ޥ˥奢��Υ������륷���ȡ�
45
+ sample/example.rb Ruby/GD �δ���Ū�ʻȤ����򼨤�����ץ륹����ץ�
46
+ sample/gdtestttf.rb gd-1.8.3 �˴ޤޤ��gdtestttf.c��Ruby�˰ܿ�������Ρ�
47
+ sample/gdtestttf.png ./gdtestttf.rb > gdtestttf.png
48
+ sample/webpng.rb gd-1.8.3 �˴ޤޤ��webpng.c ��Ruby�˰ܿ�������Ρ�
49
+
50
+ == ���󥹥ȡ�����ˡ
51
+
52
+ 'doc/INSTALL.ja' ���ɤ߲�������
53
+
54
+ == �ɥ������
55
+
56
+ 'doc/manual.html' �򻲾Ȥ��Ʋ�������
57
+
58
+ == ���۾��
59
+
60
+ Ruby Library License �˽����ޤ���
61
+
62
+ == ���ƥ�
63
+
64
+ ��¼ ζ��(tam@kais.kyoto-u.ac.jp)
65
+
66
+ �Х��������ȡ���Ƥʤɤ�Ruby �᡼��󥰥ꥹ�Ȥ���Ƥ��뤫���⤷����
67
+ �嵭�Υ��ƥʤޤǥ᡼������äƤ���������
68
+
69
+ == �ռ�
70
+
71
+ * GD��ĥ�饤�֥��θ���ԤǤ��餻����ޤĤ�� �椭�Ҥ�����
72
+
73
+ * GD-0.6.2 ��꡼���ʹߥѥå���������줿��¼ŵ�̤���ǽ����ˤ��󡥤���
74
+ ��GD �饤�֥��ȯŸ�Τ���ˤ����Ϥ��줿Ruby �᡼��󥰥ꥹ�Ȥγ��͡�
data/sample/example.rb ADDED
@@ -0,0 +1,28 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "GD"
4
+
5
+ # create a new image
6
+ im = GD::Image.new(100,100)
7
+
8
+ # allocate some colors
9
+ white = im.colorAllocate(255,255,255)
10
+ black = im.colorAllocate(0,0,0)
11
+ red = im.colorAllocate(255,0,0)
12
+ blue = im.colorAllocate(0,0,255)
13
+
14
+ # make the background transparent and interlaced
15
+ im.transparent(white)
16
+ im.interlace = true
17
+
18
+ # Put a black frame around the picture
19
+ im.rectangle(0,0,99,99,black)
20
+
21
+ # Draw a blue oval
22
+ im.arc(50,50,95,75,0,360,blue)
23
+
24
+ # And fill it with red
25
+ im.fill(50,50,red)
26
+
27
+ # Convert the image to PNG and print it on standard output
28
+ im.png STDOUT
Binary file
@@ -0,0 +1,62 @@
1
+ #! /usr/bin/env ruby
2
+ =begin
3
+
4
+ gdtestttf.rb -
5
+
6
+ =end
7
+
8
+ require 'GD'
9
+
10
+ # change this to be suitable for your Environment
11
+ fontpath = "/mnt/windows/FONTS/times.ttf"
12
+
13
+ def deg2rad(degree)
14
+ degree*(Math::PI/180.0)
15
+ end
16
+
17
+ def maxx(brect)
18
+ [[brect[0],brect[2]].max, [brect[4],brect[6]].max].max
19
+ end
20
+
21
+ def maxy(brect)
22
+ [[brect[1],brect[3]].max, [brect[5],brect[7]].max].max
23
+ end
24
+
25
+ def minx(brect)
26
+ [[brect[0],brect[2]].min, [brect[4],brect[6]].min].min
27
+ end
28
+
29
+ def miny(brect)
30
+ [[brect[1],brect[3]].min, [brect[5],brect[7]].min].min
31
+ end
32
+
33
+ str = "Ruby/GD version 0.7.2"
34
+ angle = deg2rad(20)
35
+ sz = 36.0
36
+ # obtain brect so that we can size the image
37
+ err,brect = GD::Image.stringTTF(0, fontpath, sz, angle, 0, 0, str)
38
+
39
+ if err
40
+ puts err
41
+ exit 1
42
+ end
43
+
44
+ x = maxx(brect) - minx(brect) + 6
45
+ y = maxy(brect) - miny(brect) + 6
46
+ im = GD::Image.new(x,y)
47
+
48
+ white = im.colorResolve(255,255,255)
49
+ black = im.colorResolve(0,0,0)
50
+
51
+ x = 0 - minx(brect) + 3
52
+ y = 0 - miny(brect) + 3
53
+
54
+ (err, brect) = im.stringTTF(black, fontpath, sz, angle, x, y, str)
55
+ if err
56
+ puts err
57
+ exit 1
58
+ end
59
+
60
+ im.png $stdout
61
+
62
+ im.destroy