> For the complete documentation index, see [llms.txt](https://pin-studios.gitbook.io/qrcodemaster/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://pin-studios.gitbook.io/qrcodemaster/explain/generate-qrcode.md).

# Generate QrCode

Using Static Function Library (can process in anywhere)

<figure><img src="https://3237347920-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FOkbZYfthjvCltCCydL61%2Fuploads%2FaA9e6OR6jOiX2Aa64Vof%2Fimage.png?alt=media&amp;token=6a1de0ea-33bd-4f99-9e16-2f74fd000489" alt=""><figcaption></figcaption></figure>

## Input Explain

* Scale - place your text or link
* Scale - Blur or Clear (Recommended **"15"**)
* Linear Color - Inside Qrcode Color
* Linear Background Color - Outside Qrcode Color
* Border Size - Inside Border Range
* Error Correction Level -&#x20;
  * QR\_ECLEVEL\_L  -Can fix up to 7% of the information.
  * QR\_ECLEVEL\_M - Can fix up to 15% of the information.
  * QR\_ECLEVEL\_Q - Can fix up to 25% of the information.
  * QR\_ECLEVEL\_H - Can fix up to 30% of the information.
* Version - Point to point version scale
* Encoding Mode
  * NUL -  Terminator (NUL character). Internal use only.
  * NUM -  Numeric mode.
  * AN - Alphabet-numeric mode
  * EIGHT\_BIT -  8-bit data mode.
  * KANJI -  Kanji (shift-jis) mode.&#x20;
  * STRUCTURE -  Internal use only.
  * &#x20;ECI -  ECI mode.
  * FNC1FIRST - FNC1, first position.
  * FNC1SECOND - FNC1, second position.

## Example Tutorial

### Input String

<figure><img src="https://3237347920-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FOkbZYfthjvCltCCydL61%2Fuploads%2FHHsadjglE8z1seOHS46x%2Fimage.png?alt=media&amp;token=2e8458f3-652f-4903-a2ca-be89c156be10" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3237347920-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FOkbZYfthjvCltCCydL61%2Fuploads%2FYM8SPNFis2s32p8PFGr9%2Fimage.png?alt=media&amp;token=905bd536-c6f1-4af9-adcc-c911c02696d1" alt=""><figcaption></figcaption></figure>

### Scale

{% hint style="danger" %}
Cannot be 0 , minimum = 1

if scale = 1

![](https://3237347920-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FOkbZYfthjvCltCCydL61%2Fuploads%2FgPz9ZpH4rKIq1W5MQ8zl%2Fimage.png?alt=media\&token=dc67fcdc-2dd5-4a36-beeb-27dd11220363)
{% endhint %}

{% hint style="success" %}
if Scale = 100

<img src="https://3237347920-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FOkbZYfthjvCltCCydL61%2Fuploads%2FYM8SPNFis2s32p8PFGr9%2Fimage.png?alt=media&amp;token=905bd536-c6f1-4af9-adcc-c911c02696d1" alt="" data-size="original">
{% endhint %}

### Scale Blur Code

{% hint style="danger" %}
Dont Change any code if you dont know c++
{% endhint %}

{% hint style="info" %}
{% code title="Blur FTexture2dMipMap" %}

```cpp
     * @param sentBitmap
     * @param radius
     * @param canReuseInBitmap
     * @return
     
        int w = bitmap.getWidth();
        int h = bitmap.getHeight();
```

{% endcode %}
{% endhint %}

### Border Size

| 0                                                                                                                                                                                                                   | 15                                                                                                                                                                                                                  | 25                                                                                                                                                                                                                                                        |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| ![](https://3237347920-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FOkbZYfthjvCltCCydL61%2Fuploads%2FNCe66XYSEnEC3DCY4hxZ%2Fimage.png?alt=media\&token=a9176a21-111a-44a1-a0f9-4e7123418ec1) | ![](https://3237347920-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FOkbZYfthjvCltCCydL61%2Fuploads%2Fp1zQC2S2MaB4IsyowzWj%2Fimage.png?alt=media\&token=b6ba4aaf-cc14-48ba-85af-77dc72b29244) | <img src="https://3237347920-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FOkbZYfthjvCltCCydL61%2Fuploads%2FHs07PkY6mR87ZKgDAIbt%2Fimage.png?alt=media&amp;token=ed975fc1-70e5-4b1c-aeba-fa67fadaa6cf" alt="" data-size="original"> |

### Linear Color

<figure><img src="https://3237347920-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FOkbZYfthjvCltCCydL61%2Fuploads%2FmENqZv1g7UDIlNMt3h1i%2Fimage.png?alt=media&amp;token=ea512378-5a6c-4642-ab47-c5373d9794be" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3237347920-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FOkbZYfthjvCltCCydL61%2Fuploads%2FdWdDx5bkNHGYPWd0DEWW%2Fimage.png?alt=media&amp;token=e5ae597d-5d82-4f1e-8a5d-7c3c28870ea3" alt=""><figcaption></figcaption></figure>

### Linear Background Color

<figure><img src="https://3237347920-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FOkbZYfthjvCltCCydL61%2Fuploads%2FamxdjW4Z95Qoj1cEwRj7%2Fimage.png?alt=media&amp;token=10acac92-a883-449e-b74f-e84cfb55a48b" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3237347920-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FOkbZYfthjvCltCCydL61%2Fuploads%2FadYMbZqZkCegGyPKp9S2%2Fimage.png?alt=media&amp;token=e26a7c00-e4e0-4dc9-8766-bd3b659f7bcb" alt=""><figcaption></figcaption></figure>

### Version

{% hint style="danger" %}
Maximum 40 is recommended because it will lag
{% endhint %}

| 0 & 1                                                                                                                                                                                                               | 15                                                                                                                                                                                                                  | 25                                                                                                                                                                                                                  |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| ![](https://3237347920-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FOkbZYfthjvCltCCydL61%2Fuploads%2FYFU9y41spE2Cq5YdAaSz%2Fimage.png?alt=media\&token=be3a45b2-b325-4acf-bb1c-3e684019d9ee) | ![](https://3237347920-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FOkbZYfthjvCltCCydL61%2Fuploads%2FW6o4JN6tS4ix9f88c5rm%2Fimage.png?alt=media\&token=532ad210-f3fa-4c0f-9f26-592f2b8baff8) | ![](https://3237347920-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FOkbZYfthjvCltCCydL61%2Fuploads%2FdzAt5BE9KW3mkIRUrRdB%2Fimage.png?alt=media\&token=34b8d142-6864-4a10-8707-5e211e963cf8) |

### Encoding Mode

<figure><img src="https://3237347920-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FOkbZYfthjvCltCCydL61%2Fuploads%2FCMNWR4fFM2LR4eJyawiU%2Fimage.png?alt=media&amp;token=38791db9-6066-49d8-91e7-7b9b20da48ee" alt=""><figcaption></figcaption></figure>

| Encoding Mode | QR Version Range | Indicator Size in Bits |
| ------------- | ---------------- | ---------------------- |
| Numeric       | 1-9              | 10                     |
| Alphanumeric  | 1-9              | 9                      |
| Byte          | 1-9              | 8                      |
| Kanji         | 1-9              | 8                      |
| Numeric       | 10-26            | 12                     |
| Alphanumeric  | 10-26            | 11                     |
| Byte          | 10-26            | 16                     |
| Kanji         | 10-26            | 10                     |
| Numeric       | 27-40            | 14                     |
| Alphanumeric  | 27-40            | 13                     |
| Byte          | 27-40            | 16                     |
| Kanji         | 27-40            | 12                     |

### Error Correction Level

<figure><img src="https://3237347920-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FOkbZYfthjvCltCCydL61%2Fuploads%2FR7qHvu1d4lgiPutAqebO%2Fimage.png?alt=media&amp;token=9177f5a2-ba22-4060-8e9c-049676269c04" alt=""><figcaption></figcaption></figure>

#### Data and Error Correction Level <a href="#data-and-error-correction-level" id="data-and-error-correction-level"></a>

Naturally, the first step in creating a QR code is choosing the data to encode. We also need to specify an error correction level. Along with the encoded data, the QR code creates error correction codewords that are able to correct error in reading the data, up to a point. The error correction level describes the level of recovery of incorrect data. The higher the level, the higher percentage of data that is able to be recovered.
