@@ -26,44 +26,35 @@ $ composer require endroid/qrcode
26
26
use Endroid\QrCode\ErrorCorrectionLevel;
27
27
use Endroid\QrCode\LabelAlignment;
28
28
use Endroid\QrCode\QrCode;
29
- use Endroid\QrCode\Writer\PngWriter;
30
- use Endroid\QrCode\Writer\SvgWriter;
31
29
use Symfony\Component\HttpFoundation\Response;
32
30
33
- // Create a QR code
31
+ // Create a basic QR code
34
32
$qrCode = new QrCode('Life is too short to be generating QR codes');
35
33
$qrCode->setSize(300);
36
34
37
35
// Set advanced options
38
36
$qrCode
37
+ ->setWriterByName('png')
39
38
->setMargin(10)
40
39
->setEncoding('UTF-8')
41
40
->setErrorCorrectionLevel(ErrorCorrectionLevel::HIGH)
42
41
->setForegroundColor(['r' => 0, 'g' => 0, 'b' => 0])
43
42
->setBackgroundColor(['r' => 255, 'g' => 255, 'b' => 255])
44
43
->setLabel('Scan the code', 16, __DIR__.'/../assets/noto_sans.otf', LabelAlignment::CENTER)
45
44
->setLogoPath(__DIR__.'/../assets/symfony.png')
46
- ->setLogoSize (150)
45
+ ->setLogoWidth (150)
47
46
->setValidateResult(true)
48
47
;
49
48
50
- // Output the QR code
51
- header('Content-Type: '.$qrCode->getContentType(PngWriter::class ));
52
- echo $qrCode->writeString(PngWriter::class );
49
+ // Directly output the QR code
50
+ header('Content-Type: '.$qrCode->getContentType());
51
+ echo $qrCode->writeString();
53
52
54
- // Save it to a file (guesses writer by file extension)
53
+ // Save it to a file
55
54
$qrCode->writeFile(__DIR__.'/qrcode.png');
56
55
57
56
// Create a response object
58
- $response = new Response(
59
- $qrCode->writeString(SvgWriter::class),
60
- Response::HTTP_OK,
61
- ['Content-Type' => $qrCode->getContentType(SvgWriter::class)])
62
- ;
63
-
64
- // Work via the writer
65
- $writer = new PngWriter($qrCode);
66
- $pngData = $writer->writeString();
57
+ $response = new Response($qrCode->writeString(), Response::HTTP_OK, ['Content-Type' => $qrCode->getContentType()]);
67
58
```
68
59
69
60
![ QR Code] ( http://endroid.nl/qrcode/Dit%20is%20een%20test.png )
@@ -89,6 +80,7 @@ applied by the factory can optionally be overridden via the configuration.
89
80
90
81
``` yaml
91
82
endroid_qr_code :
83
+ writer : ' png'
92
84
size : 300
93
85
margin : 10
94
86
foreground_color : { r: 0, g: 0, b: 0 }
@@ -100,7 +92,7 @@ endroid_qr_code:
100
92
label_alignment : left # left, center or right
101
93
label_margin : { b: 20 }
102
94
logo_path : ' %kernel.root_dir%/../vendor/endroid/qrcode/assets/symfony.png'
103
- logo_size : 150
95
+ logo_width : 150
104
96
validate_result : true # checks if the result is readable
105
97
` ` `
106
98
@@ -136,8 +128,8 @@ defaults defined by the bundle or set via your configuration.
136
128
137
129
` ` ` twig
138
130
<img src="{{ qrcode_path(message) }}" />
139
- <img src="{{ qrcode_url(message, { extension : 'svg ' }) }}" />
140
- <img src="{{ qrcode_data_uri(message, { extension : 'svg', size: 150 }) }}" />
131
+ <img src="{{ qrcode_url(message, { writer : 'eps ' }) }}" />
132
+ <img src="{{ qrcode_data_uri(message, { writer : 'svg', size: 150 }) }}" />
141
133
` ` `
142
134
143
135
# # Versioning
0 commit comments