rqrcode-with-patches 0.5.5 → 0.6.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +9 -0
- data/CHANGELOG +5 -0
- data/Gemfile +7 -3
- data/README.md +8 -1
- data/lib/rqrcode/export/png.rb +56 -15
- data/lib/rqrcode/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: abc10cb5ee81f0afc70beb9f0e0cd9890bb02755
|
4
|
+
data.tar.gz: c16250d3b3d9d06007bd23158dd9038b16b6a41c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 267298865c535f3e34cf1770829fd022f3db3378d29af1fbda2631b123024d73cebb0ccf34cf555258fdb684b5cd0ea773fb4b651930ad54d288c9d3d7d3c731
|
7
|
+
data.tar.gz: aff62020abe5b791b088b7d205a994bbba96bb3182fcfe8a3876053c288c0198bbce58411fba54daefd8b40d06d5b31c6bd412a7a099ea26d3e46ed7b0f7deb2
|
data/.travis.yml
ADDED
data/CHANGELOG
CHANGED
@@ -1,3 +1,8 @@
|
|
1
|
+
*0.6.0* (Jun 2, 2015)
|
2
|
+
|
3
|
+
- Improved png rendering. Previous png rendering could result in hard to scan qrcodes.
|
4
|
+
*Big thanks to Bart Jedrocha*
|
5
|
+
|
1
6
|
*0.5.5* (Apr 25, 2015)
|
2
7
|
|
3
8
|
- Fixed major bug. The rs block data was missing resulting in qr codes failing to be generated.
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -1,10 +1,17 @@
|
|
1
|
-
# rQRCode, Encode QRCodes
|
1
|
+
# rQRCode, Encode QRCodes
|
2
|
+
|
3
|
+
[![Build Status](https://travis-ci.org/bjornblomqvist/rqrcode.svg?branch=master)](https://travis-ci.org/bjornblomqvist/rqrcode)
|
2
4
|
|
3
5
|
I have republished this gem as rqrcode-with-patches as Duncan seams to have abandoned the project.
|
4
6
|
You can find the original project here: http://github.com/whomwah/rqrcode
|
5
7
|
|
6
8
|
## Short changelog
|
7
9
|
|
10
|
+
*0.6.0* (Jun 2, 2015)
|
11
|
+
|
12
|
+
- Improved png rendering. Previous png rendering could result in hard to scan qrcodes.
|
13
|
+
*Big thanks to Bart Jedrocha*
|
14
|
+
|
8
15
|
*0.5.5* (Apr 25, 2015)
|
9
16
|
|
10
17
|
- Fixed major bug. The rs block data was missing resulting in qr codes failing to be generated.
|
data/lib/rqrcode/export/png.rb
CHANGED
@@ -8,10 +8,25 @@ module RQRCode
|
|
8
8
|
|
9
9
|
# Render the PNG from the Qrcode.
|
10
10
|
#
|
11
|
-
#
|
12
|
-
#
|
11
|
+
# There are two sizing algoritams.
|
12
|
+
#
|
13
|
+
# - Original that can result in blurry and hard to scan images
|
14
|
+
# - Google's Chart API inspired sizing that risizes the module size to fit within the given image size.
|
15
|
+
#
|
16
|
+
# The Googleis one will be used when no options are given or when the new size option is used.
|
17
|
+
#
|
18
|
+
# Options:
|
13
19
|
# fill - Background ChunkyPNG::Color, defaults to 'white'
|
14
20
|
# color - Foreground ChunkyPNG::Color, defaults to 'black'
|
21
|
+
#
|
22
|
+
# *Googleis*
|
23
|
+
# size - Total size of PNG in pixels. The module size is calculated so it fits. (defaults to 90)
|
24
|
+
# border_modules - Width of white border around in modules. (defaults to 4).
|
25
|
+
#
|
26
|
+
# -- DONT USE border_modules OPTION UNLESS YOU KNOW ABOUT THE QUIET ZONE NEEDS OF QR CODES --
|
27
|
+
#
|
28
|
+
# *Original*
|
29
|
+
# module_px_size - Image size, in pixels.
|
15
30
|
# border - Border thickness, in pixels
|
16
31
|
#
|
17
32
|
# It first creates an image where 1px = 1 module, then resizes.
|
@@ -24,30 +39,53 @@ module RQRCode
|
|
24
39
|
:resize_exactly_to => false,
|
25
40
|
:fill => 'white',
|
26
41
|
:color => 'black',
|
42
|
+
:size => 120,
|
27
43
|
:border_modules => 4,
|
28
44
|
:file => false,
|
29
45
|
:module_px_size => 6
|
30
46
|
}
|
47
|
+
|
48
|
+
googleis = options.length == 0 || (options[:size] != nil)
|
49
|
+
|
31
50
|
options = default_img_options.merge(options) # reverse_merge
|
32
51
|
|
33
52
|
fill = ChunkyPNG::Color(options[:fill])
|
34
53
|
color = ChunkyPNG::Color(options[:color])
|
35
54
|
output_file = options[:file]
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
55
|
+
|
56
|
+
module_px_size = nil
|
57
|
+
border_px = nil
|
58
|
+
png = nil
|
59
|
+
|
60
|
+
if googleis
|
61
|
+
total_image_size = options[:size]
|
62
|
+
border_modules = options[:border_modules]
|
63
|
+
|
64
|
+
module_px_size = (total_image_size.to_f / (self.module_count + 2 * border_modules).to_f).floor.to_i
|
65
|
+
|
66
|
+
img_size = module_px_size * self.module_count
|
67
|
+
|
68
|
+
remaining = total_image_size - img_size
|
69
|
+
border_px = (remaining / 2.0).floor.to_i
|
70
|
+
|
71
|
+
png = ChunkyPNG::Image.new(total_image_size, total_image_size, fill)
|
40
72
|
else
|
41
|
-
options[:
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
73
|
+
border = options[:border_modules]
|
74
|
+
total_border = border * 2
|
75
|
+
module_px_size = if options[:resize_gte_to]
|
76
|
+
(options[:resize_gte_to].to_f / (self.module_count + total_border).to_f).ceil.to_i
|
77
|
+
else
|
78
|
+
options[:module_px_size]
|
79
|
+
end
|
80
|
+
border_px = border * module_px_size
|
81
|
+
total_border_px = border_px * 2
|
82
|
+
resize_to = options[:resize_exactly_to]
|
46
83
|
|
47
|
-
|
48
|
-
|
84
|
+
img_size = module_px_size * self.module_count
|
85
|
+
total_img_size = img_size + total_border_px
|
49
86
|
|
50
|
-
|
87
|
+
png = ChunkyPNG::Image.new(total_img_size, total_img_size, fill)
|
88
|
+
end
|
51
89
|
|
52
90
|
self.modules.each_index do |x|
|
53
91
|
self.modules.each_index do |y|
|
@@ -60,8 +98,11 @@ module RQRCode
|
|
60
98
|
end
|
61
99
|
end
|
62
100
|
end
|
101
|
+
|
102
|
+
if !googleis && resize_to
|
103
|
+
png = png.resize(resize_to, resize_to)
|
104
|
+
end
|
63
105
|
|
64
|
-
png = png.resize(resize_to, resize_to) if resize_to
|
65
106
|
|
66
107
|
if output_file
|
67
108
|
png.save(output_file,{ :color_mode => ChunkyPNG::COLOR_GRAYSCALE, :bit_depth =>1})
|
data/lib/rqrcode/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rqrcode-with-patches
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Bjorn Blomqvist and others
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2015-
|
12
|
+
date: 2015-06-02 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: chunky_png
|
@@ -67,6 +67,7 @@ extra_rdoc_files:
|
|
67
67
|
- LICENSE
|
68
68
|
files:
|
69
69
|
- .gitignore
|
70
|
+
- .travis.yml
|
70
71
|
- CHANGELOG
|
71
72
|
- Gemfile
|
72
73
|
- LICENSE
|