Skip to content

Latest commit

 

History

History
40 lines (29 loc) · 3.26 KB

File metadata and controls

40 lines (29 loc) · 3.26 KB

DelphiZXingQRCodeEx

DelphiZXingQRCodeEx — это набор классов Delphi для генерации QR-кодов. Исходный код был портирован на Delphi из проекта ZXing, который представляет собой библиотеку для работы с различными графическими кодами.

Изначально код был портирован Кевином Ньюманом, главным разработчиком австралийской компании Debenu, ныне Foxit (проект называется DelphiZXingQRCode и доступен на GitHub, см. ссылки ниже). После этого он был доработан и изменён Михаилом Демидовым. Подробный список этих изменений приведён в файле CHANGELOG-RUS.md.

Наиболее принципиальные отличия такие:

  1. Исправлен уровень коррекции ошибок.
  2. Добавлена возможность для определения собственных способов кодирования входных строк. В качестве примера реализованы кодирование Win-1251 (совместимое с требованиями Сбербанка РФ — это уже проверено) и кодирование URL (преобразование нелатинских символов в %-коды).
  3. Добавлена обработка исключений, чтобы избежать Access Violation, когда входная строка слишком длинная.
  4. Добавлен отдельный модуль для получения графического представления QR-кода в разных форматах (битовая матрица, метафайл).
  5. Сохранена совместимость со старыми версиями Delphi (по крайней мере, до 7 включительно). Совместима с Lazarus (см. пункт 5 файла CHANGELOG-RUS.md или статью в блоге — раздел Ссылки ниже).

Проект распространяется под той же лицензией Apache License (v2.0), что и оригинальная библиотека.

Ссылки

  1. Проект DelphiZXingQRCode на GitHub
  2. ZXing GitHub
  3. Блог М. В. Демидова

Требования

Delphi 7 или новее (теоретически может компилироваться и в более старых версиях, на практике не проверялось за неимением оных).

Инструкция

В папке TestApp находится простой проект, который демонстрирует работу с классом TDelphiZXingQRCode (в т.ч. сохранение изображения в форматах BMP, JPEG и EMF).