Perl/Perlの基礎知識

PerlのImager::QRCodeモジュールでQRコードを描く(2ページ目)

Perl で、携帯端末などで簡単に読み取れる QRコードを描く方法を紹介します。CPAN モジュール Imager::QRCode を使います。

井上 みやび子

執筆者:井上 みやび子

Perlガイド

QRコード生成サンプルプログラム

Imager::QRCode の使い方は至って簡単です。下記は単純な QRコード生成プログラムです。

use strict;
use warnings;
use utf8;

use Imager::QRCode;

my $qrcode = Imager::QRCode->new(
	size          => 4,
	margin        => 2,
	version       => 1,
	level         => 'L',
	casesensitive => 1,
	mode => '8-bit',
	lightcolor    => Imager::Color->new(255, 255, 255),
	darkcolor     => Imager::Color->new(0, 0, 0),
);

my %str = (
	allabout => 'http://allabout.co.jp/gm/gt/2621/',
	messages => 'おめでとう',
);

for (keys %str){
	my $img = $qrcode->plot($str{$_});
	$img->write(file => "$_.png");
};
以下のコマンドで、allabout.png と messages.png の2つのQRコードが生成されます。読み取りソフトで結果を確かめて下さい。

perl program_name.pl

サイズと情報量の調整方法


基本的な使い方は上記の通りですが、同じ面積のQRコードに含める事のできる情報量には限りがあり、size (サンプルコードでは「4」) の設定が大きい程、画像が大きくなります。

また、生成されたQRコードをWebサイトなどディスプレイで読み取る媒体で公開するのか、印刷するのかでも、どのサイズで生成するべきかが変わります。名刺やショップカードなどで「オフセット印刷」をする場合は、ディスプレイで見た場合のサイズが印刷後の実サイズの約5倍の大きさである事が必要です。このあたりは印刷の条件によっても変わりますので、印刷の専門家に相談して下さい。

ここでは、Webサイトやメールなどのディスプレイ媒体でQRコード表示すると想定して、サイズ設定を試行錯誤で調整する方法をご紹介します。

上記のプログラムで生成したQRコードは以下の通りです。

生成したQRコード

生成したQRコード



allabout.png より、messages.png の方が画像サイズが小さいですよね? 設定している文字数が少ないためです。QRコードごとに文字数が変わる場合、最大文字数でテストを行って下さい。

文字数を決めたら、希望の見た目のサイズまでサイズが下げられるかテストします。size の数値を一つずつ下げて行って、実際に QRコード読み取りソフトで画面を読み取って設定した文字が読み取れるかを試して下さい。モバイル端末などでは表示サイズが異なる場合がありますので、モバイルでの利用を想定している場合はモバイル端末での読み取りもテストして下さい。

応用方法

いかがでしたか? QRコードの生成自体はとても簡単ですね。でも応用すると、Webからの申込みフォームと結びつけて「申込み控えの情報をQRコードで携帯端末に送信する」などの応用が可能です。自由な発想で新しいサービスを開発して下さい。

【編集部おすすめの購入サイト】
Amazonで Perl 関連の書籍をチェック!楽天市場で Perl 関連の書籍をチェック!
  • 前のページへ
  • 1
  • 2
※記事内容は執筆時点のものです。最新の内容をご確認ください。
※OSやアプリ、ソフトのバージョンによっては画面表示、操作方法が異なる可能性があります。

あわせて読みたい

あなたにオススメ

    表示について

    カテゴリー一覧

    All Aboutサービス・メディア

    All About公式SNS
    日々の生活や仕事を楽しむための情報を毎日お届けします。
    公式SNS一覧
    © All About, Inc. All rights reserved. 掲載の記事・写真・イラストなど、すべてのコンテンツの無断複写・転載・公衆送信等を禁じます