---
name: "Imager::QRCode"
section: "3pm"
platform: "linux"
package: "libimager-qrcode-perl"
version: "0.033-1.2+b13"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Imager::QRCode"
---

# Imager::QRCode(3pm)

Generate QR Code with Imager using libqrencode

## NAME

Imager::QRCode - Generate QR Code with Imager using libqrencode

## SYNOPSIS

```
    use Imager::QRCode;
    my $qrcode = Imager::QRCode->new(
        size          => 2,
        margin        => 2,
        version       => 1,
        level         => 'M',
        casesensitive => 1,
        lightcolor    => Imager::Color->new(255, 255, 255),
        darkcolor     => Imager::Color->new(0, 0, 0),
    );
    my $img = $qrcode->plot("blah blah");
    $img->write(file => "qrcode.gif");
    # or instance method
    use Imager::QRCode qw(plot_qrcode);
    my $img = plot_qrcode("blah blah", \%params);
    $img->write(file => "qrcode.gif");
```

## DESCRIPTION

This module allows you to generate QR Code with Imager. This module use libqrencode '2.0.0' and above.

## METHODS

- new

  ```
      $qrcode = Imager::QRCode->new(%params);
  ```

  The `new()` constructor method instantiates a new Imager::QRCode object. `new()` accepts the following parameters.

  - •

    `"size"` - Horizontal and vertical size of module(dot). Default is 4.

  - •

    `"margin"` - Margin size of QR Code. Default is 3.

  - •

    `"level"` - Error collectin level. Valid values are 'M', 'L', 'Q' or 'H'. Default is 'L'.

  - •

    `"version"` - Version of the symbol. If specify '0', this module chooses the minimum version for the input data. Default is '0'.

  - •

    `"mode"` - Encoding mode. Valid values are 'numerical', 'alpha-numerical', '8-bit' or 'kanji'. Default is '8-bit'.

    If not give `"casesensitive"` then should be given `"mode"`. If 'kanji' is given, characters will be encoded as Shift-JIS characters. If '8-bit' is given, all of non-alpha-numerical characters will be encoded as is. If you want to embed UTF-8 string, choose '8-bit'.

  - •

    `"casesensitive"` - If your application is case-sensitive using 8-bit characters, set to '1'. Default is '0'.

- plot($text)

  ```
      $img = $qrcode->plot("blah blah");
  ```

  Create a new QR Code image. This method returns Imager object ploted QR Code with the given text.

## INSTANT METHODS

- plot\_qrcode($text, \\%params)

  Instant method. `$text` is input text. `%params` is same parameter as `new()`.

## SEE ALSO

`"Imager"`, `"http://www.qrcode.com/"`, `"http://megaui.net/fukuchi/works/qrencode/index.en.html"`

## AUTHOR

Yoshiki KURIHARA  `"<kurihara __at__ cpan.org>"`

## THANKS

Tokuhiro Matsuno

## LICENCE AND COPYRIGHT

Copyright (c) 2011, Yoshiki KURIHARA `"<kurihara __at__ cpan.org>"`.

This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See perlartistic.
