NovinkaZverejnili sme 50+ Laravel balíkov ako open source
Custom AI apps, agents and automation — Roundly ConsultingRoundly
Všetky balíky
QR for Laravel

SVG výstup a štýly

Výstupom je len SVG: jedna even-odd <path> v jednotkách modulov s presným viewBoxom, prístupným titulkom a popisom, bez ID a časových pečiatok — je teda deterministické, dáva stabilný ETag a na jednej stránke sa dá bezpečne zopakovať:

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 29 29" width="256" height="256" role="img" aria-label="QR code" shape-rendering="crispEdges"><title>QR code</title><desc>…</desc><rect width="29" height="29" fill="#ffffff"/><path fill="#000000" fill-rule="evenodd" d="M4 4h7v7h-7z…"/></svg>

Štýly

use RoundlyConsulting\Qr\Enums\{FinderStyle, ModuleStyle};

// Rounded modules read less reliably — pair them with Q or H
Qr::url($link)->moduleStyle(ModuleStyle::Rounded, 0.35)->errorCorrection('Q')->svg();

// Dots with rounded, coloured finders
Qr::url($link)
    ->moduleStyle(ModuleStyle::Dots)
    ->finderStyle(FinderStyle::Rounded, '#0a58ca')
    ->errorCorrection('H')
    ->svg();

// Responsive, inherits the text colour, no background rectangle
Qr::url($link)->size(null)->foreground('currentColor')->background('transparent')->svg();
  • ModuleStyle::Square — trasované obrysy s ostrými hranami (predvolené).
  • ModuleStyle::Rounded — vypuklé rohy sa zmenia na štvrťkruhy so zadaným polomerom (0 < r ≤ 0.5 modulu).
  • ModuleStyle::Dots — jeden kruh na každý tmavý modul.
  • FinderStyle::Rounded — zaoblené rámy a stredy finder vzorov, voliteľne vo vlastnej farbe.
  • Farby — hex, rgb()/rgba(), pomenované CSS farby, currentColor; transparent vynechá obdĺžnik pozadia.
  • size(null) — responzívne SVG len s viewBoxom, veľkosť určí vaše CSS.

Odporúčania k štýlom

Dodržte silný kontrast (tmavé na svetlom), tichú zónu 4 moduly a nepriehľadné pozadie. Zaoblené moduly, bodky a farebné finder vzory sa čítajú menej spoľahlivo; používajte s nimi korekciu chýb Q alebo H. Platobné kódy nechajte štvorcové, čierne na bielom.

Hodnotový objekt Svg

use RoundlyConsulting\Qr\Enums\DataUriEncoding;

$svg = Qr::url($link)->svg();

$svg->toString();                                  // the markup
$svg->withXmlDeclaration()->toString();            // prefixed with <?xml …?>
$svg->withAttributes(['class' => 'qr', 'aria-hidden' => 'true']);
$svg->toImgTag('Scan me', ['class' => 'w-32']);    // HtmlString: <img src="data:…">
$svg->toDataUri();                                 // percent-encoded data URI
$svg->toDataUri(DataUriEncoding::Base64);          // base64 data URI
$svg->etag();                                      // quoted SHA-256 prefix
$svg->width();                                     // ?int — null when responsive
$svg->viewBoxSize();                               // modules, quiet zone included
$svg->matrix();                                    // QrMatrix
$svg->sensitivity();                               // Sensitivity

Doplnkové atribúty sú obmedzené na povolené (class, style, id, data-*, aria-*) a escapované; existujúci kľúč, napríklad aria-label, sa nahradí. Texty aj farby prechádzajú escapovaním a zoznamom povolených hodnôt, takže obsah stránky nemôže do obrázka vložiť skript.

Prejavte lásku k open source

Tento balík je zadarmo pod licenciou MIT. Ak vám šetrí čas, jednorazový príspevok alebo členstvo na Patreone nám pomôže ho ďalej udržiavať, testovať a dokumentovať.

Ďalšie spôsoby podpory vrátane kryptomien

Odoslaním daru súhlasíte s našimi podmienkami prijímania darov.

Chcete to zabudovať do svojho produktu?

Naše balíky integrujeme do zákazkových Laravel a AI riešení. Napíšte nám, na čom pracujete, a ozveme sa do 48 hodín.