custom_rqrcode 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +7 -5
- data/lib/custom_rqrcode.rb +7 -15
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 91c0f8ed5ebefd7c835dcaf83421aa559014f846
|
4
|
+
data.tar.gz: 2596cb66a575f2c94e35af9de297a0194392a0ca
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8ac82bc6f6804c945109c64b2a14c7cca7cd7d1cc9c7521f41b074036b85e8176b08d9f2697c33e69e75b828cfc5591f552fd10ea55ed23ed133a0ee30f150fd
|
7
|
+
data.tar.gz: 774e9a8559c4f06d1a29a094bf0427d016bb344a70191233fff3655d392afe5575841c1999cb4f6be61d1479bb7a21b62aafa6329439b71f7654c709620e3783
|
data/README.md
CHANGED
@@ -1,8 +1,8 @@
|
|
1
|
-
# Render and customize QR codes
|
1
|
+
# Render and customize QR codes with a background image
|
2
2
|
|
3
|
-
This gem extends rqrcode-rails published by samvincent, supporting the output in either SVG or PNG,
|
3
|
+
This gem extends rqrcode-rails published by samvincent, supporting the output in either SVG or PNG,
|
4
4
|
|
5
|
-
providing new options to set background image combined with QR code image.
|
5
|
+
JPEG, and GIF formats and providing new options to set background image combined with QR code image.
|
6
6
|
|
7
7
|
|
8
8
|
## Installation
|
@@ -21,10 +21,11 @@ You will also want to add the **mini_magick** gem to your application's `Gemfile
|
|
21
21
|
In your controller actions, you could return a QR code that links to the current page like this:
|
22
22
|
|
23
23
|
```ruby
|
24
|
+
bg_image = Rails.root.join("app").to_s + ActionController::Base.helpers.asset_path("images/bg_image.png")
|
24
25
|
respond_to do |format|
|
25
26
|
format.html
|
26
27
|
format.svg { render :qrcode => request.url, :level => :l, :unit => 10 }
|
27
|
-
format.png { render :qrcode => request.url }
|
28
|
+
format.png { render :qrcode => request.url, :bg => bg_image, :bsize => "200x100", :gravity => "center" }
|
28
29
|
format.gif { render :qrcode => request.url }
|
29
30
|
format.jpeg { render :qrcode => request.url }
|
30
31
|
end
|
@@ -43,7 +44,8 @@ end
|
|
43
44
|
* `:fill` – Background color (e.g "ffffff" or :white)
|
44
45
|
* `:color` – Foreground color for the code (e.g. "000000" or :black)
|
45
46
|
* `:bg` – Background image to be combined with QR code image (e.g. "./img/000.png")
|
46
|
-
* `:
|
47
|
+
* `:bsize` – Resize background image (e.g. "300x200")
|
48
|
+
* `:gravity` – Location where QR code image will be put on the background image (e.g. "center", "north", "south")
|
47
49
|
|
48
50
|
## About
|
49
51
|
|
data/lib/custom_rqrcode.rb
CHANGED
@@ -17,38 +17,30 @@ module RQRCode
|
|
17
17
|
level = options[:level] || :h
|
18
18
|
|
19
19
|
bg = options[:bg] || false
|
20
|
-
|
20
|
+
bsize = options[:bsize] || false
|
21
|
+
|
21
22
|
qrcode = RQRCode::QRCode.new(string, :size => size, :level => level)
|
22
23
|
svg = RQRCode::Renderers::SVG::render(qrcode, options)
|
23
24
|
|
24
25
|
data = \
|
25
26
|
if format && format == :svg
|
26
|
-
|
27
|
+
svg
|
27
28
|
else
|
28
29
|
image = MiniMagick::Image.read(svg) { |i| i.format "svg" }
|
29
30
|
image.format format
|
30
31
|
|
31
|
-
#image = RQRCode::mergeImages(image, bg) if bg
|
32
32
|
if bg
|
33
|
-
print "=============================="
|
34
33
|
bg_image = MiniMagick::Image.open bg
|
35
|
-
|
36
|
-
|
34
|
+
bg_image.resize bsize if bsize
|
35
|
+
gravity = options[:gravity] || "north"
|
36
|
+
image = bg_image.composite(image) do |c|
|
37
37
|
c.gravity gravity
|
38
38
|
end
|
39
39
|
end
|
40
40
|
|
41
|
-
|
41
|
+
image.to_blob
|
42
42
|
end
|
43
43
|
|
44
44
|
self.response_body = render_to_string(:text => data, :template => nil)
|
45
45
|
end
|
46
|
-
|
47
|
-
def mergeImages(image, bg, options)
|
48
|
-
bg_image = MiniMagick::Image.open bg
|
49
|
-
gravity = options[:gravity] || "north"
|
50
|
-
bg_image.composite(image) do |c|
|
51
|
-
c.gravity gravity
|
52
|
-
end
|
53
|
-
end
|
54
46
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: custom_rqrcode
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Johnson Chang
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-
|
11
|
+
date: 2013-07-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rqrcode
|