pull/118/head
Project Nayuki 4 years ago
commit 6f68c21b1b

@ -43,133 +43,145 @@ Examples
Java language: Java language:
import java.awt.image.BufferedImage; ```java
import java.io.File; import java.awt.image.BufferedImage;
import java.util.List; import java.io.File;
import javax.imageio.ImageIO; import java.util.List;
import io.nayuki.qrcodegen.*; import javax.imageio.ImageIO;
import io.nayuki.qrcodegen.*;
// Simple operation
QrCode qr0 = QrCode.encodeText("Hello, world!", QrCode.Ecc.MEDIUM); // Simple operation
BufferedImage img = toImage(qr0, 4, 10); // See QrCodeGeneratorDemo QrCode qr0 = QrCode.encodeText("Hello, world!", QrCode.Ecc.MEDIUM);
ImageIO.write(img, "png", new File("qr-code.png")); BufferedImage img = toImage(qr0, 4, 10); // See QrCodeGeneratorDemo
ImageIO.write(img, "png", new File("qr-code.png"));
// Manual operation
List<QrSegment> segs = QrSegment.makeSegments("3141592653589793238462643383"); // Manual operation
QrCode qr1 = QrCode.encodeSegments(segs, QrCode.Ecc.HIGH, 5, 5, 2, false); List<QrSegment> segs = QrSegment.makeSegments("3141592653589793238462643383");
for (int y = 0; y < qr1.size; y++) { QrCode qr1 = QrCode.encodeSegments(segs, QrCode.Ecc.HIGH, 5, 5, 2, false);
for (int x = 0; x < qr1.size; x++) { for (int y = 0; y < qr1.size; y++) {
(... paint qr1.getModule(x, y) ...) for (int x = 0; x < qr1.size; x++) {
} (... paint qr1.getModule(x, y) ...)
} }
}
```
TypeScript/JavaScript languages: TypeScript/JavaScript languages:
// Name abbreviated for the sake of these examples here ```typescript
var QRC = qrcodegen.QrCode; // Name abbreviated for the sake of these examples here
var QRC = qrcodegen.QrCode;
// Simple operation // Simple operation
var qr0 = QRC.encodeText("Hello, world!", QRC.Ecc.MEDIUM); var qr0 = QRC.encodeText("Hello, world!", QRC.Ecc.MEDIUM);
var svg = toSvgString(qr0, 4); // See qrcodegen-input-demo var svg = toSvgString(qr0, 4); // See qrcodegen-input-demo
// Manual operation // Manual operation
var segs = qrcodegen.QrSegment.makeSegments("3141592653589793238462643383"); var segs = qrcodegen.QrSegment.makeSegments("3141592653589793238462643383");
var qr1 = QRC.encodeSegments(segs, QRC.Ecc.HIGH, 5, 5, 2, false); var qr1 = QRC.encodeSegments(segs, QRC.Ecc.HIGH, 5, 5, 2, false);
for (var y = 0; y < qr1.size; y++) { for (var y = 0; y < qr1.size; y++) {
for (var x = 0; x < qr1.size; x++) { for (var x = 0; x < qr1.size; x++) {
(... paint qr1.getModule(x, y) ...) (... paint qr1.getModule(x, y) ...)
}
} }
}
```
Python language: Python language:
from qrcodegen import * ```python
from qrcodegen import *
# Simple operation # Simple operation
qr0 = QrCode.encode_text("Hello, world!", QrCode.Ecc.MEDIUM) qr0 = QrCode.encode_text("Hello, world!", QrCode.Ecc.MEDIUM)
svg = to_svg_str(qr0, 4) # See qrcodegen-demo svg = to_svg_str(qr0, 4) # See qrcodegen-demo
# Manual operation # Manual operation
segs = QrSegment.make_segments("3141592653589793238462643383") segs = QrSegment.make_segments("3141592653589793238462643383")
qr1 = QrCode.encode_segments(segs, QrCode.Ecc.HIGH, 5, 5, 2, False) qr1 = QrCode.encode_segments(segs, QrCode.Ecc.HIGH, 5, 5, 2, False)
for y in range(qr1.get_size()): for y in range(qr1.get_size()):
for x in range(qr1.get_size()): for x in range(qr1.get_size()):
(... paint qr1.get_module(x, y) ...) (... paint qr1.get_module(x, y) ...)
```
C++ language: C++ language:
#include <string> ```c++
#include <vector> #include <string>
#include "QrCode.hpp" #include <vector>
using namespace qrcodegen; #include "QrCode.hpp"
using namespace qrcodegen;
// Simple operation
QrCode qr0 = QrCode::encodeText("Hello, world!", QrCode::Ecc::MEDIUM); // Simple operation
std::string svg = toSvgString(qr0, 4); // See QrCodeGeneratorDemo QrCode qr0 = QrCode::encodeText("Hello, world!", QrCode::Ecc::MEDIUM);
std::string svg = toSvgString(qr0, 4); // See QrCodeGeneratorDemo
// Manual operation
std::vector<QrSegment> segs = // Manual operation
QrSegment::makeSegments("3141592653589793238462643383"); std::vector<QrSegment> segs =
QrCode qr1 = QrCode::encodeSegments( QrSegment::makeSegments("3141592653589793238462643383");
segs, QrCode::Ecc::HIGH, 5, 5, 2, false); QrCode qr1 = QrCode::encodeSegments(
for (int y = 0; y < qr1.getSize(); y++) { segs, QrCode::Ecc::HIGH, 5, 5, 2, false);
for (int x = 0; x < qr1.getSize(); x++) { for (int y = 0; y < qr1.getSize(); y++) {
(... paint qr1.getModule(x, y) ...) for (int x = 0; x < qr1.getSize(); x++) {
} (... paint qr1.getModule(x, y) ...)
} }
}
```
C language: C language:
#include <stdbool.h> ```c
#include <stdint.h> #include <stdbool.h>
#include "qrcodegen.h" #include <stdint.h>
#include "qrcodegen.h"
// Text data
uint8_t qr0[qrcodegen_BUFFER_LEN_MAX]; // Text data
uint8_t tempBuffer[qrcodegen_BUFFER_LEN_MAX]; uint8_t qr0[qrcodegen_BUFFER_LEN_MAX];
bool ok = qrcodegen_encodeText("Hello, world!", uint8_t tempBuffer[qrcodegen_BUFFER_LEN_MAX];
tempBuffer, qr0, qrcodegen_Ecc_MEDIUM, bool ok = qrcodegen_encodeText("Hello, world!",
qrcodegen_VERSION_MIN, qrcodegen_VERSION_MAX, tempBuffer, qr0, qrcodegen_Ecc_MEDIUM,
qrcodegen_Mask_AUTO, true); qrcodegen_VERSION_MIN, qrcodegen_VERSION_MAX,
if (!ok) qrcodegen_Mask_AUTO, true);
return; if (!ok)
return;
int size = qrcodegen_getSize(qr0);
for (int y = 0; y < size; y++) { int size = qrcodegen_getSize(qr0);
for (int x = 0; x < size; x++) { for (int y = 0; y < size; y++) {
(... paint qrcodegen_getModule(qr0, x, y) ...) for (int x = 0; x < size; x++) {
} (... paint qrcodegen_getModule(qr0, x, y) ...)
} }
}
// Binary data // Binary data
uint8_t dataAndTemp[qrcodegen_BUFFER_LEN_FOR_VERSION(7)] uint8_t dataAndTemp[qrcodegen_BUFFER_LEN_FOR_VERSION(7)]
= {0xE3, 0x81, 0x82}; = {0xE3, 0x81, 0x82};
uint8_t qr1[qrcodegen_BUFFER_LEN_FOR_VERSION(7)]; uint8_t qr1[qrcodegen_BUFFER_LEN_FOR_VERSION(7)];
ok = qrcodegen_encodeBinary(dataAndTemp, 3, qr1, ok = qrcodegen_encodeBinary(dataAndTemp, 3, qr1,
qrcodegen_Ecc_HIGH, 2, 7, qrcodegen_Mask_4, false); qrcodegen_Ecc_HIGH, 2, 7, qrcodegen_Mask_4, false);
```
Rust language: Rust language:
extern crate qrcodegen; ```rust
use qrcodegen::QrCode; extern crate qrcodegen;
use qrcodegen::QrCodeEcc; use qrcodegen::QrCode;
use qrcodegen::QrSegment; use qrcodegen::QrCodeEcc;
use qrcodegen::QrSegment;
// Simple operation
let qr = QrCode::encode_text("Hello, world!", // Simple operation
QrCodeEcc::Medium).unwrap(); let qr = QrCode::encode_text("Hello, world!",
let svg = to_svg_string(&qr, 4); // See qrcodegen-demo QrCodeEcc::Medium).unwrap();
let svg = to_svg_string(&qr, 4); // See qrcodegen-demo
// Manual operation
let chrs: Vec<char> = "3141592653589793238462643383".chars().collect(); // Manual operation
let segs = QrSegment::make_segments(&chrs); let chrs: Vec<char> = "3141592653589793238462643383".chars().collect();
let qr = QrCode::encode_segments_advanced( let segs = QrSegment::make_segments(&chrs);
&segs, QrCodeEcc::High, 5, 5, Some(Mask::new(2)), false).unwrap(); let qr = QrCode::encode_segments_advanced(
for y in 0 .. qr.size() { &segs, QrCodeEcc::High, 5, 5, Some(Mask::new(2)), false).unwrap();
for x in 0 .. qr.size() { for y in 0 .. qr.size() {
(... paint qr.get_module(x, y) ...) for x in 0 .. qr.size() {
} (... paint qr.get_module(x, y) ...)
} }
}
```
License License

Loading…
Cancel
Save