Komponent CameraScanner — sgcHTML | eSeGeCe

CameraScanner

TsgcHTMLComponent_CameraScanner — panel kamery na żywo, który skanuje kody kreskowe i kody QR własnym natywnym dekoderem przeglądarki, bez bibliotek firm trzecich, z przechwytywaniem zdjęcia i ręcznym wprowadzaniem zawsze dostępnym jako rozwiązanie awaryjne, w Delphi, C++ Builder i .NET.

TsgcHTMLComponent_CameraScanner

Ustaw Mode i Formats, a następnie odczytaj właściwość HTML; panel otwiera kamerę, dekoduje za pomocą BarcodeDetector przeglądarki i wysyła wynik pod FieldName.

Klasa komponentu

TsgcHTMLComponent_CameraScanner

Renderuje

Panel wizjera kamery + pola ukryte + skrypt wbudowany

Języki

Delphi, C++ Builder, .NET

Skieruj go na skaner samej przeglądarki

Żadnego dekodera do dołączenia i niczego pobieranego z CDN: gdy brakuje BarcodeDetector, panel to sygnalizuje i nadal działa dzięki ręcznemu wprowadzaniu i przechwytywaniu zdjęcia.

uses
  sgcHTML_Component_CameraScanner;

var
  oScanner: TsgcHTMLComponent_CameraScanner;
begin
  oScanner := TsgcHTMLComponent_CameraScanner.Create(nil);
  try
    oScanner.ScannerID := 'receiving_scan';
    oScanner.Mode := smBoth;               // scan barcodes AND capture a photo
    oScanner.Formats := 'qr_code,ean_13,code_128';
    oScanner.FieldName := 'sku';
    oScanner.ContinuousScan := True;
    oScanner.BeepOnScan := True;

    WebModule.Response := oScanner.HTML;   // camera panel + hidden fields + inline script
  finally
    oScanner.Free;
  end;
end;
// includes: sgcHTML_Component_CameraScanner.hpp

TsgcHTMLComponent_CameraScanner *oScanner = new TsgcHTMLComponent_CameraScanner(NULL);
try
{
  oScanner->ScannerID = "receiving_scan";
  oScanner->Mode = smBoth;
  oScanner->Formats = "qr_code,ean_13,code_128";
  oScanner->FieldName = "sku";
  oScanner->ContinuousScan = true;
  oScanner->BeepOnScan = true;

  String html = oScanner->HTML;   // camera panel + hidden fields + inline script
}
__finally
{
  delete oScanner;
}
using esegece.sgcWebSockets;

var scanner = new TsgcHTMLComponent_CameraScanner();
scanner.ScannerID = "receiving_scan";
scanner.Mode = smBoth;
scanner.Formats = "qr_code,ean_13,code_128";
scanner.FieldName = "sku";
scanner.ContinuousScan = true;
scanner.BeepOnScan = true;

string html = scanner.HTML;   // camera panel + hidden fields + inline script

Kluczowe właściwości i metody

Składniki, po które sięgasz najczęściej.

Mode

smBarcode, smPhoto lub smBoth (domyślnie). smBarcode nigdy nie renderuje przycisku przechwytywania; smPhoto całkowicie pomija pętlę skanowania.

Formats

Lista formatów BarcodeDetector oddzielonych przecinkami, domyślnie qr_code,ean_13,code_128, przekazywana jako tablica JS do dekodera przeglądarki.

FacingMode

sfEnvironment (domyślnie, tylna kamera) lub sfUser (przednia kamera).

ContinuousScan

True (domyślnie) kontynuuje dekodowanie po trafieniu; False automatycznie zatrzymuje kamerę po pierwszym udanym skanie.

FieldName

Nazwa ukrytego pola, pod którą wysyłana jest zeskanowana wartość; przechwycone zdjęcie jest wysyłane pod FieldName_photo jako URL danych JPEG.

WSSend / Action

Wysyłaj każdy skan przez most WebSocket sgcHTMX lub POST-em do Action; w obu przypadkach zawsze wyzwalane jest zdarzenie DOM sgcCameraScanner:scan.

Poznawaj dalej

Pomoc onlinePełna dokumentacja API i przewodnik użytkowania tego komponentu.
Wszystkie komponenty sgcHTMLPrzejrzyj pełną matrycę funkcji 80+ komponentów.
Pobierz bezpłatną wersję próbną30-dniowa wersja próbna zawiera projekty demonstracyjne 60.HTML.
CennikLicencje Single, Team i Site z pełnym kodem źródłowym.
Najkorzystniejsza oferta: All-AccessWszystkie produkty eSeGeCe, ze wsparciem Premium w cenie, już od €1,059 rocznie.
Zobacz cennik All-Access

Gotowy, aby zacząć?

Pobierz bezpłatną wersję próbną i zacznij budować interfejsy webowe w Delphi, C++ Builder i .NET.