{"id":468,"date":"2008-04-20T01:51:00","date_gmt":"2008-04-19T16:51:00","guid":{"rendered":"http:\/\/ecpplus.net\/weblog\/?p=468"},"modified":"2021-07-15T15:02:57","modified_gmt":"2021-07-15T06:02:57","slug":"ruby_qr_code","status":"publish","type":"post","link":"https:\/\/ecpplus.net\/weblog\/ruby_qr_code\/","title":{"rendered":"Rails\u3067QR\u30b3\u30fc\u30c9"},"content":{"rendered":"<p>\u4ee5\u4e0b\u306e\u30b5\u30a4\u30c8\u3092\u53c2\u8003\u306bRails\u3067QR\u30b3\u30fc\u30c9\u4f5c\u3063\u3066\u307f\u305f\u3002<\/p>\n<ul>\n<li><a href=\"http:\/\/d.hatena.ne.jp\/omochist\/20061012\/1160663894\">Ruby\u3067QR\u30b3\u30fc\u30c9\u3092\u4f5c\u308d\u3046<\/a><\/li>\n<li><a href=\"http:\/\/www.fraction.jp\/log\/archives\/2006\/10\/1035\">Rails\u3067QR\u30b3\u30fc\u30c9\u3092\u751f\u6210<\/a><\/li>\n<\/ul>\n<h3>Mac\u306bGD\u3068RubyGD\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<\/h3>\n<pre><code class=\"language-sh\">$ sudo port install gd2\n$ sudo port install rb-gd<\/code><\/pre>\n<p><a target=\"_blank\" href=\"http:\/\/www.swetake.com\/qr\/ruby\/qr_rb.html\" rel=\"noreferrer noopener\">QR\u30b3\u30fc\u30c9\u30af\u30e9\u30b9\u30e9\u30a4\u30d6\u30e9\u30ea for Ruby<\/a> \u3092DL\u3057\u3066\u304d\u3066\u3001RAILS_ROOT + \\&#8217;\/lib\\&#8217; \u4ee5\u4e0b\u306b\u8a2d\u7f6e\u3002 \u3053\u306e\u307e\u307e\u4f7f\u3063\u3066\u307f\u308b\u3068\u3001qrcode.rb \u306e Regexp.compile\u3067\u30a8\u30e9\u30fc\u304c\u51fa\u308b\u306e\u3067\u3001 \u8a72\u5f53\u306e\u7b87\u6240\u3092\u66f8\u304d\u63db\u3048\u308b\u3002<\/p>\n<p><a target=\"_blank\" href=\"http:\/\/www.fraction.jp\/log\/archives\/2006\/10\/1035\" rel=\"noreferrer noopener\">Rails\u3067QR\u30b3\u30fc\u30c9\u3092\u751f\u6210<\/a> \u3092\u53c2\u8003\u306b\u3057\u3066\u3001Regexp.comple \u306e\u7b2c3\u5f15\u6570\u3067\u30c7\u30d5\u30a9\u30eb\u30c8\u30a8\u30f3\u30b3\u30fc\u30c9\u306b\u623b\u3059\u3088\u3046\u3067\u3059\u3002<\/p>\n<pre><code class=\"language-ruby\"># Regexp.compile(n3_search))\n# \u2193\u307f\u305f\u3044\u306b\u5f15\u6570\u3092\u8ffd\u52a0\u3002\u5408\u8a084\u7b87\u6240\u3042\u308b\u306f\u305a\u3002\nRegexp.compile(n3_search, false, &#039;n&#039;))<\/code><\/pre>\n<p>ReadMe\u306b Qrcode\u306e\u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf\u3067Qrcode\u7528\u306e\u30c7\u30fc\u30bf\u3092 <code>@path<\/code> \u3092\u8a2d\u5b9a\u3057\u3066\u3044\u308b\u306e\u3067\u3001\u3053\u308c\u3092\u5909\u66f4\u3057\u308d\u3068\u306e\u3053\u3068\u3067\u3001 <code>@path = RAILS_ROOT + \\&#039;\/lib\/qrcode_data\\&#039;<\/code> \u3068\u5909\u66f4\u3059\u308b\u3002\u3053\u308c\u306f\u9ad8\u901f\u5316\u306e\u305f\u3081\u306b\u5fc5\u8981\u3068\u66f8\u3044\u3066\u3042\u308b\u3002 \u3042\u3068\u306f\u3001\u8aad\u307f\u8fbc\u307f\u305f\u3044\u3068\u3053\u308d\u3067\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u3057\u3066\u4f7f\u3046\u3002<a target=\"_blank\" href=\"http:\/\/d.hatena.ne.jp\/omochist\/20061012\/1160663894\" rel=\"noreferrer noopener\">Ruby\u3067QR\u30b3\u30fc\u30c9\u3092\u4f5c\u308d\u3046<\/a> \u3092\u53c2\u8003\u306b\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u5f62\u3067\u3002 <\/p>\n<p><code>ruby script\/console<\/code> \u3068\u304b\u7acb\u3061\u4e0a\u3052\u308b\u3068<\/p>\n<pre><code class=\"language-ruby\">>&gt; require &#039;qrcode_img&#039;\n>&gt; url = http:\/\/d.hatena.ne.jp\/omochist\/\n>&gt; qr = Qrcode.new\n>&gt; qr_data = qr.make_qrcode(url)\n>&gt; qr_image = Qrcode_image.new\n>&gt; qr_image.image_out(qr_data, &#039;png&#039;, &#039;ecpplue.png&#039;)<\/code><\/pre>\n<p>\u3053\u308c\u3067\u3001<code>RAILS_ROOT<\/code> \u306b <code>ecpplus.png<\/code> \u3063\u3066\u3044\u3046QR\u304c\u51fa\u6765\u3066\u3044\u307e\u3059\u3002 QR\u30b3\u30fc\u30c9\u306e\u5927\u304d\u3055\u3092\u5909\u3048\u305f\u3044\u3068\u304d\u306f\u3001Qrcode_image \u306b <code>@module_size<\/code>, <code>@quiet_zone<\/code> \u3068\u3044\u3046\u306e\u304c\u3042\u308b\u306e\u3067\u3001\u3053\u308c\u3092\u8abf\u7bc0\u3059\u308b\u3002 @module_size # \u5168\u4f53\u306e\u5927\u304d\u3055 @quiet_zone # \u4f59\u767d <\/p>\n<pre><code class=\"language-ruby\">>&gt; qr_image = Qrcode_image.new\n>&gt; qr_image.set_module_size(7)  # 1-8\u304c\u6307\u5b9a\u53ef\u80fd\u306a\u3088\u3046\u3060\n>&gt; qr_image.set_quiet_zone(1)  # 1-8\u304c\u6307\u5b9a\u53ef\u80fd\u306a\u3088\u3046\u3060<\/code><\/pre>\n<p>\u3042\u3068\u306f\u3055\u3063\u304d\u3068\u540c\u3058\u3088\u3046\u306a\u611f\u3058\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u4ee5\u4e0b\u306e\u30b5\u30a4\u30c8\u3092\u53c2\u8003\u306bRails\u3067QR\u30b3\u30fc\u30c9\u4f5c\u3063\u3066\u307f\u305f\u3002 Ruby\u3067QR\u30b3\u30fc\u30c9\u3092\u4f5c\u308d\u3046 Rails\u3067QR\u30b3\u30fc\u30c9\u3092\u751f\u6210 Mac\u306bGD\u3068RubyGD\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb $ sudo port install gd2 $ sudo  [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":2521,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[43],"tags":[10,8],"class_list":["post-468","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-development","tag-rails","tag-ruby"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/ecpplus.net\/weblog\/wp-json\/wp\/v2\/posts\/468","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ecpplus.net\/weblog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ecpplus.net\/weblog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ecpplus.net\/weblog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ecpplus.net\/weblog\/wp-json\/wp\/v2\/comments?post=468"}],"version-history":[{"count":3,"href":"https:\/\/ecpplus.net\/weblog\/wp-json\/wp\/v2\/posts\/468\/revisions"}],"predecessor-version":[{"id":4342,"href":"https:\/\/ecpplus.net\/weblog\/wp-json\/wp\/v2\/posts\/468\/revisions\/4342"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ecpplus.net\/weblog\/wp-json\/wp\/v2\/media\/2521"}],"wp:attachment":[{"href":"https:\/\/ecpplus.net\/weblog\/wp-json\/wp\/v2\/media?parent=468"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ecpplus.net\/weblog\/wp-json\/wp\/v2\/categories?post=468"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ecpplus.net\/weblog\/wp-json\/wp\/v2\/tags?post=468"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}