gd2-ffij 0.0.5 → 0.0.6
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.
- data/gd2-ffij.gemspec +1 -1
- data/lib/gd2-ffij.rb +1 -0
- data/lib/gd2/canvas.rb +1 -0
- data/lib/gd2/color.rb +1 -0
- data/lib/gd2/ffi_struct.rb +1 -0
- data/lib/gd2/font.rb +1 -0
- data/lib/gd2/image.rb +12 -20
- data/lib/gd2/palette.rb +1 -0
- data/lib/gd2/version.rb +2 -1
- data/test/canvas_tests.rb +1 -0
- data/test/image_tests.rb +1 -0
- data/test/test_helper.rb +1 -0
- metadata +5 -4
data/gd2-ffij.gemspec
CHANGED
@@ -20,7 +20,7 @@ Gem::Specification.new do |s|
|
|
20
20
|
s.homepage = "http://github.com/dark-panda/gd2-ffij"
|
21
21
|
s.require_paths = ["lib"]
|
22
22
|
|
23
|
-
s.add_dependency("ffi", ["
|
23
|
+
s.add_dependency("ffi", [">= 1.0.0"])
|
24
24
|
s.add_dependency("rdoc")
|
25
25
|
s.add_dependency("rake", ["~> 0.9"])
|
26
26
|
end
|
data/lib/gd2-ffij.rb
CHANGED
data/lib/gd2/canvas.rb
CHANGED
data/lib/gd2/color.rb
CHANGED
data/lib/gd2/ffi_struct.rb
CHANGED
data/lib/gd2/font.rb
CHANGED
data/lib/gd2/image.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
# encoding: ASCII-8BIT
|
1
2
|
#
|
2
3
|
# Ruby/GD2 -- Ruby binding for gd 2 graphics library
|
3
4
|
#
|
@@ -88,17 +89,17 @@ module GD2
|
|
88
89
|
# automatically (JPEG, PNG, GIF, WBMP, or GD2). The resulting image will be
|
89
90
|
# either of class Image::TrueColor or Image::IndexedColor.
|
90
91
|
def self.load(src)
|
91
|
-
src = src.force_encoding("
|
92
|
+
src = src.force_encoding("ASCII-8BIT") if src.respond_to? :force_encoding
|
92
93
|
case src
|
93
94
|
when File
|
94
95
|
pos = src.pos
|
95
96
|
magic = src.read(4)
|
96
97
|
src.pos = pos
|
97
98
|
data = src.read
|
98
|
-
data = data.force_encoding("
|
99
|
+
data = data.force_encoding("ASCII-8BIT") if data.respond_to? :force_encoding
|
99
100
|
args = [ data.length, data ]
|
100
101
|
when String
|
101
|
-
magic = src
|
102
|
+
magic = src.slice(0, 4)
|
102
103
|
args = [ src.length, src ]
|
103
104
|
else
|
104
105
|
raise TypeError, 'Unexpected argument type'
|
@@ -125,24 +126,17 @@ module GD2
|
|
125
126
|
block_given? ? yield(image) : image
|
126
127
|
end
|
127
128
|
|
128
|
-
def self.data_type(
|
129
|
-
|
130
|
-
|
131
|
-
str.each_byte do |byte|
|
132
|
-
break if ct == 4
|
133
|
-
mgc << byte.to_s
|
134
|
-
ct += 1
|
135
|
-
end
|
136
|
-
case mgc
|
137
|
-
when "255216255224"
|
129
|
+
def self.data_type(magic)
|
130
|
+
case magic
|
131
|
+
when /^\xff\xd8/
|
138
132
|
:jpeg
|
139
|
-
when
|
133
|
+
when /^\x89PNG/
|
140
134
|
:png
|
141
|
-
when
|
135
|
+
when /^GIF8/
|
142
136
|
:gif
|
143
|
-
when
|
137
|
+
when /^\x00/
|
144
138
|
:wbmp
|
145
|
-
when
|
139
|
+
when /^gd2/
|
146
140
|
:gd2
|
147
141
|
end
|
148
142
|
end
|
@@ -200,7 +194,7 @@ module GD2
|
|
200
194
|
'Format (or file extension) is not recognized' unless create_sym
|
201
195
|
|
202
196
|
file = File.read(filename)
|
203
|
-
file = file.force_encoding("
|
197
|
+
file = file.force_encoding("ASCII-8BIT") if file.respond_to? :force_encoding
|
204
198
|
file_ptr = FFI::MemoryPointer.new(file.size, 1, false)
|
205
199
|
file_ptr.put_bytes(0, file)
|
206
200
|
|
@@ -408,9 +402,7 @@ module GD2
|
|
408
402
|
def with_clipping(x1, y1, x2, y2) #:yields: image
|
409
403
|
clip = clipping
|
410
404
|
begin
|
411
|
-
p clipping
|
412
405
|
::GD2::GD2FFI.send(:gdImageSetClip, image_ptr, x1.to_i, y1.to_i, x2.to_i, y2.to_i)
|
413
|
-
p clipping
|
414
406
|
yield self
|
415
407
|
self
|
416
408
|
ensure
|
data/lib/gd2/palette.rb
CHANGED
data/lib/gd2/version.rb
CHANGED
data/test/canvas_tests.rb
CHANGED
data/test/image_tests.rb
CHANGED
data/test/test_helper.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,8 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gd2-ffij
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: !binary |-
|
5
|
+
MC4wLjY=
|
5
6
|
prerelease:
|
6
7
|
platform: ruby
|
7
8
|
authors:
|
@@ -9,14 +10,14 @@ authors:
|
|
9
10
|
autorequire:
|
10
11
|
bindir: bin
|
11
12
|
cert_chain: []
|
12
|
-
date: 2012-
|
13
|
+
date: 2012-08-14 00:00:00.000000000 Z
|
13
14
|
dependencies:
|
14
15
|
- !ruby/object:Gem::Dependency
|
15
16
|
name: ffi
|
16
17
|
requirement: !ruby/object:Gem::Requirement
|
17
18
|
none: false
|
18
19
|
requirements:
|
19
|
-
- -
|
20
|
+
- - ! '>='
|
20
21
|
- !ruby/object:Gem::Version
|
21
22
|
version: 1.0.0
|
22
23
|
type: :runtime
|
@@ -24,7 +25,7 @@ dependencies:
|
|
24
25
|
version_requirements: !ruby/object:Gem::Requirement
|
25
26
|
none: false
|
26
27
|
requirements:
|
27
|
-
- -
|
28
|
+
- - ! '>='
|
28
29
|
- !ruby/object:Gem::Version
|
29
30
|
version: 1.0.0
|
30
31
|
- !ruby/object:Gem::Dependency
|