quilt 0.0.8 → 0.0.9
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +6 -14
- data/README.md +10 -1
- data/Rakefile +1 -1
- data/lib/quilt.rb +35 -7
- data/quilt.gemspec +3 -3
- data/test/quilt_test.rb +1 -1
- metadata +14 -14
checksums.yaml
CHANGED
@@ -1,15 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
metadata.gz: !binary |-
|
9
|
-
NDVlMmJjNzljNjAyMWRkY2FjNGJmMGE2ZTY1NjAzNTUyOTEwNmU2NWNlYzRm
|
10
|
-
MzFkYmM3ZWIzYTk4MDY0MGJmNmJmYWRkNDk3MDcxZDQzNGFkZDJhN2ZmMGU2
|
11
|
-
ZjUwMzUwODVlZDhlYTdmZGRiMDc0NjY4YjA3ZmIyZmZmNDM1MWI=
|
12
|
-
data.tar.gz: !binary |-
|
13
|
-
N2QwOThlNjk4ZDBlY2Q4ZWZjYzA2NWMyYWNhN2UzZGRhNTAyZDJiZTc1NGY4
|
14
|
-
MTgxNjg4MzFhMWFmMDc5NTUyMWUxNzc0YzIyMjM4YWJmYmIxYjk0MWNmYjc2
|
15
|
-
YjZiY2M5Y2MzOWRmODI1NmE3ZTkxNGQ1NWM3OTliMDNjZDZhNjc=
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 49c7f7200f1db6b3653b1365badc140a6ee76bf4
|
4
|
+
data.tar.gz: 277abcc41fa1cafa27c9a0f99489ac12d538ee0f
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 74e214842d20758249bea661edc432ca8c172cb1237a02ce67a9709d5292c53df18dfacab3d9567d68239f54b98085414865edbbdfd8486c3b632f48c83bb573
|
7
|
+
data.tar.gz: 49b75db2774830fccdffa1dd2941d7df2312895d714e82092e2f947aaafebc7c6f0013f142634a4a6c58a0b2a860e46eb73ce71c1e2feace7d70ed725b8e3fee
|
data/README.md
CHANGED
@@ -8,8 +8,12 @@ A Ruby library for generating identicon.
|
|
8
8
|
|
9
9
|
Identicon: http://en.wikipedia.org/wiki/Identicon
|
10
10
|
|
11
|
+
## Updates
|
12
|
+
|
13
|
+
2014-11-03T02:05:32+09:00 Add transparent background option
|
14
|
+
|
11
15
|
## Installation
|
12
|
-
Required rmagick or ruby-gd.
|
16
|
+
Required rmagick or ruby-gd. (default rmagick)
|
13
17
|
|
14
18
|
gem install quilt
|
15
19
|
|
@@ -42,6 +46,11 @@ Required rmagick or ruby-gd.
|
|
42
46
|
identicon = Quilt::Identicon.new 'sample'
|
43
47
|
identicon.write 'sample15_15_gd.png'
|
44
48
|
|
49
|
+
# output: 150 * 150 png tranparent background
|
50
|
+
identicon = Quilt::Identicon.new 'sample', :scale => 10, :transparent => true
|
51
|
+
identicon.write 'sample_t_150_150.png'
|
52
|
+
|
53
|
+
|
45
54
|
## Information
|
46
55
|
|
47
56
|
Copyright (c) 2008 swdyh
|
data/Rakefile
CHANGED
data/lib/quilt.rb
CHANGED
@@ -4,7 +4,7 @@ require 'digest/sha1'
|
|
4
4
|
|
5
5
|
module Quilt
|
6
6
|
class ImageRmagick
|
7
|
-
def initialize width, height
|
7
|
+
def initialize width, height, opt = {}
|
8
8
|
begin
|
9
9
|
require 'rmagick'
|
10
10
|
rescue LoadError
|
@@ -12,7 +12,9 @@ module Quilt
|
|
12
12
|
rescue LoadError
|
13
13
|
puts "WARNING: Failed to require rmagick, image generation will fail"
|
14
14
|
end
|
15
|
-
@image = Magick::Image.new width, height
|
15
|
+
@image = Magick::Image.new width, height do |c|
|
16
|
+
c.background_color = 'Transparent' if opt[:transparent]
|
17
|
+
end
|
16
18
|
@image.format = 'png'
|
17
19
|
end
|
18
20
|
|
@@ -40,6 +42,20 @@ module Quilt
|
|
40
42
|
end
|
41
43
|
end
|
42
44
|
|
45
|
+
def polygon_clip points
|
46
|
+
unless points.empty?
|
47
|
+
clip_img = Magick::Image.new(@image.rows, @image.rows)
|
48
|
+
dr = Magick::Draw.new
|
49
|
+
dr.polygon(*points.flatten)
|
50
|
+
dr.draw(clip_img)
|
51
|
+
clip_img_t = clip_img.transparent('white', Magick::TransparentOpacity)
|
52
|
+
f = @image.format
|
53
|
+
@image = clip_img_t.composite(@image,
|
54
|
+
Magick::CenterGravity, Magick::OutCompositeOp)
|
55
|
+
@image.format = f
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
43
59
|
def write path
|
44
60
|
open(path, 'wb') {|f| f.write @image.to_blob }
|
45
61
|
end
|
@@ -54,7 +70,7 @@ module Quilt
|
|
54
70
|
end
|
55
71
|
|
56
72
|
class ImageGD
|
57
|
-
def initialize width, height
|
73
|
+
def initialize width, height, opt = {}
|
58
74
|
require 'GD'
|
59
75
|
@image = GD::Image.new width, height
|
60
76
|
end
|
@@ -139,11 +155,11 @@ module Quilt
|
|
139
155
|
@scale = opt[:scale] || 1
|
140
156
|
end
|
141
157
|
|
158
|
+
@transparent = !!opt[:transparent]
|
142
159
|
@patch_width = PATCH_SIZE * @scale
|
143
|
-
@image = @@image_lib.new @patch_width * 3, @patch_width * 3
|
160
|
+
@image = @@image_lib.new @patch_width * 3, @patch_width * 3, :transparent => @transparent
|
144
161
|
@back_color = @image.color 255, 255, 255
|
145
162
|
@fore_color = @image.color @decode[:red], @decode[:green], @decode[:blue]
|
146
|
-
@image.transparent @back_color
|
147
163
|
render
|
148
164
|
end
|
149
165
|
|
@@ -195,6 +211,10 @@ module Quilt
|
|
195
211
|
else
|
196
212
|
fore, back = @fore_color, @back_color
|
197
213
|
end
|
214
|
+
|
215
|
+
if @transparent && back == @back_color
|
216
|
+
back = 'Transparent'
|
217
|
+
end
|
198
218
|
@image.fill_rect(x, y, x + @patch_width - 1, y + @patch_width - 1, back)
|
199
219
|
|
200
220
|
points = []
|
@@ -215,7 +235,16 @@ module Quilt
|
|
215
235
|
end
|
216
236
|
points << [x + px, y + py]
|
217
237
|
end
|
218
|
-
|
238
|
+
|
239
|
+
if @transparent && @@image_lib == Quilt::ImageRmagick
|
240
|
+
if fore == @back_color
|
241
|
+
@image.polygon_clip points
|
242
|
+
else
|
243
|
+
@image.polygon points, fore
|
244
|
+
end
|
245
|
+
else
|
246
|
+
@image.polygon points, fore
|
247
|
+
end
|
219
248
|
end
|
220
249
|
|
221
250
|
def write path = "#{@code}.png"
|
@@ -269,4 +298,3 @@ module Quilt
|
|
269
298
|
end
|
270
299
|
end
|
271
300
|
end
|
272
|
-
|
data/quilt.gemspec
CHANGED
@@ -2,18 +2,18 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = "quilt"
|
5
|
-
s.version = "0.0.
|
5
|
+
s.version = "0.0.9"
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = ["swdyh"]
|
9
|
-
s.date = "
|
9
|
+
s.date = "2014-11-02"
|
10
10
|
s.description = "A Ruby library for generating identicon.\nhttps://github.com/swdyh/quilt"
|
11
11
|
s.email = "youhei@gmail.com"
|
12
12
|
s.files = [".travis.yml", "ChangeLog", "Gemfile", "MIT-LICENSE", "README.md", "Rakefile", "lib/quilt.rb", "quilt.gemspec", "test/quilt_test.rb", "test/test_helper.rb"]
|
13
13
|
s.homepage = "https://github.com/swdyh/quilt"
|
14
14
|
s.licenses = ["MIT"]
|
15
15
|
s.require_paths = ["lib"]
|
16
|
-
s.rubygems_version = "2.0.
|
16
|
+
s.rubygems_version = "2.0.2"
|
17
17
|
s.summary = "A Ruby library for generating identicon."
|
18
18
|
s.test_files = ["test/test_helper.rb"]
|
19
19
|
|
data/test/quilt_test.rb
CHANGED
metadata
CHANGED
@@ -1,60 +1,60 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: quilt
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- swdyh
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2014-11-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - '>='
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '0'
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - '>='
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- -
|
31
|
+
- - '>='
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '0'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- -
|
38
|
+
- - '>='
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rmagick
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- -
|
45
|
+
- - '>='
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: '0'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- -
|
52
|
+
- - '>='
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0'
|
55
|
-
description:
|
56
|
-
|
57
|
-
https://github.com/swdyh/quilt
|
55
|
+
description: |-
|
56
|
+
A Ruby library for generating identicon.
|
57
|
+
https://github.com/swdyh/quilt
|
58
58
|
email: youhei@gmail.com
|
59
59
|
executables: []
|
60
60
|
extensions: []
|
@@ -80,17 +80,17 @@ require_paths:
|
|
80
80
|
- lib
|
81
81
|
required_ruby_version: !ruby/object:Gem::Requirement
|
82
82
|
requirements:
|
83
|
-
- -
|
83
|
+
- - '>='
|
84
84
|
- !ruby/object:Gem::Version
|
85
85
|
version: '0'
|
86
86
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
87
87
|
requirements:
|
88
|
-
- -
|
88
|
+
- - '>='
|
89
89
|
- !ruby/object:Gem::Version
|
90
90
|
version: '0'
|
91
91
|
requirements: []
|
92
92
|
rubyforge_project:
|
93
|
-
rubygems_version: 2.0.
|
93
|
+
rubygems_version: 2.0.2
|
94
94
|
signing_key:
|
95
95
|
specification_version: 4
|
96
96
|
summary: A Ruby library for generating identicon.
|