Лагатып instax

Бібліятэка генератара QR-кодаў

Уводзіны

Гэты праект імкнецца стаць найлепшай і зразумелай бібліятэкай генератараў QR-кодаў на розных мовах. Асноўныя мэты - гнуткія варыянты і абсалютная карэктнасць. Другасныя мэты - кампактны памер рэалізацыі і добрыя каментары да дакументацыі.
Галоўная старонка з жывой дэманстрацыяй JavaScript, падрабязнымі апісаннямі і параўнаннямі з канкурэнтамі: [https://www.nayuki.io/page/qr-code-generator-library](https://www.nayuki.io/page/qr-code-generator-library)

Асаблівасці

Асноўныя функцыі:
* Даступна на 6 мовах праграмавання, усе з амаль аднолькавай функцыянальнасцю: Java, TypeScript/JavaScript, Python, Rust, C++, C
* Значна карацейшы код, але больш каментарыяў да дакументацыі ў параўнанні з канкуруючымі бібліятэкамі
* Падтрымка кадавання ўсіх 40 версій (памераў) і ўсіх 4 узроўняў выпраўлення памылак у адпаведнасці са стандартам QR Code Model 2
* Выхадны фармат: неапрацаваныя модулі/пікселі сімвала QR
* Выяўляе штрафныя шаблоны, падобныя на шукальнік, больш дакладна, чым іншыя рэалізацыі
* Кадуе лічбавы і спецыяльны алфавітна-лічбавы тэкст на меншай прасторы, чым агульны тэкст
* Адкрыты зыходны код пад дазвольнай ліцэнзіяй MIT

Ручныя параметры:
* Карыстальнік можа ўказаць мінімальную і максімальную дазволеныя нумары версій, тады бібліятэка аўтаматычна абярэ найменшую версію ў дыяпазоне, якая адпавядае дадзеным
* Карыстальнік можа задаць шаблон маскі ўручную, інакш бібліятэка аўтаматычна ацэніць усе 8 масак і абярэ аптымальную
* Карыстальнік можа вызначыць абсалютны ўзровень выпраўлення памылак або дазволіць бібліятэцы павялічыць яго, калі гэта не павялічвае нумар версіі
* Карыстальнік можа стварыць спіс сегментаў даных уручную і дадаць сегменты ECI
Дадатковыя дадатковыя функцыі (толькі Java):
* Кадзіруе японскі тэкст Unicode у рэжыме кандзі, каб зэканоміць шмат месца ў параўнанні з байтамі UTF-8
* Вылічвае аптымальнае пераключэнне рэжыму сегмента для тэксту са змешанымі лічбавымі/літарна-лічбавымі/агульнымі часткамі/кандзі. Больш падрабязную інфармацыю аб тэхналогіі QR-кода і дызайне гэтай бібліятэкі можна знайсці на галоўнай старонцы праекта.

Exampлес
Прыведзены ніжэй код на Java, але іншыя моўныя парты распрацаваны па сутнасці з такімі ж назвамі і паводзінамі API.
«`ява
імпартаваць java.awt.image.BufferedImage;
імпартаваць java.io.File;
імпартаваць java.util.List;
імпартаваць javax.imageio.ImageIO;
імпарт io.nayuki.qrcodegen.*;

// Простае дзеянне
QrCode qr0 = QrCode.encodeText(“Прывітанне, свет!”, QrCode.Ecc.MEDIUM);
BufferedImage img = toImage(qr0, 4, 10); // Глядзіце QrCodeGeneratorDemo
ImageIO.write(img, “png”, новы File(“qr-code.png”));

// Кіраванне ўручную
Спіс segs = QrSegment.makeSegments(“3141592653589793238462643383”);
QrCode qr1 = QrCode.encodeSegments(сегменты, QrCode.Ecc.HIGH, 5, 5, 2, ілжыва);
for (int y = 0; y < qr1.size; y++) {
для (int x = 0; x < qr1.size; x++) {
(... намаляваць qr1.getModule(x, y) ...)
}
}
“`

Ліцэнзія

Аўтарскае права ツゥ 2024 Праект Наюкі. (Ліцэнзія MIT)
[https://www.nayuki.io/page/qr-code-generator-library](https://www.nayuki.io/page/qr-code-generator-library)
Сапраўдным даецца бясплатны дазвол любой асобе, якая атрымае копію гэтага праграмнага забеспячэння і звязанай з ім дакументацыі files («Праграмнае забеспячэнне»), каб мець справу з Праграмным забеспячэннем без абмежаванняў, уключаючы без абмежавання правы на выкарыстанне, капіраванне, змяненне, аб'яднанне, публікацыю, распаўсюджванне, субліцэнзію і/або продаж копій Праграмнага забеспячэння, а таксама дазваляць асобам каму Праграмнае забеспячэнне прадастаўлена для гэтага пры выкананні наступных умоў:

* Прыведзенае вышэй паведамленне аб аўтарскіх правах і гэта паведамленне аб дазволе павінны быць уключаны ва ўсе копіі або істотныя часткі Праграмнага забеспячэння.
* Праграмнае забеспячэнне прадастаўляецца «як ёсць», без якіх-небудзь гарантый, відавочных або пэўных, уключаючы, але не абмяжоўваючыся, гарантыі таварнасці, прыдатнасці для пэўнай мэты і непарушэння правоў. Ні ў якім разе аўтары або ўладальнікі аўтарскіх правоў не нясуць адказнасці за любыя прэтэнзіі, пашкоджанні або іншую адказнасць, незалежна ад таго, у выніку дагавора, дэлікту або іншым чынам, якія вынікаюць з, з або ў сувязі з Праграмным забеспячэннем або выкарыстаннем або іншымі здзелкамі ў праграмнае забеспячэнне.

Дакументы / Рэсурсы

Бібліятэка генератара QR-кода instax [pdfКіраўніцтва карыстальніка
Бібліятэка генератара QR-кода, Бібліятэка генератара кода, Бібліятэка генератара, Бібліятэка

Спасылкі

Пакінуць каментар

Ваш электронны адрас не будзе апублікаваны. Абавязковыя для запаўнення палі пазначаны *