Проблема в вашем коде заключается в том, что вы пытаетесь отобразить изображение (Content-Type: image/png
) внутри ответа html.
Если вы вернете только изображение, оно будет отображаться правильно. Вы должны сохранить изображение в файле, а затем отобразить его в html:
Версия 1.9.3
<html lang="en">
<body>
<div>
<?php
require 'vendor/autoload.php';
$qr = new \Endroid\QrCode\QrCode();
$qr->setText('http://www.google.co.uk')
->setSize(100)
->setPadding(10)
// In case you want to change colors
// RED foreground
->setForegroundColor(['r' => 255, 'g' => 0, 'b' => 0, 'a' => 0])
// WHITE background
->setBackgroundColor(['r' => 255, 'g' => 255, 'b' => 255, 'a' => 0]);
$qr->save('/qrcode.png');
?>
<p>QR Image:</p>
<img src="<?= 'qrcode.png'; ?>" />
</div>
</body>
</html>
Версия 3.7. 5
<html lang="en">
<body>
<div>
<?php
require 'vendor/autoload.php';
$qrCode = new \Endroid\QrCode\QrCode('http://www.google.co.uk');
$qrCode->setSize(100);
// Set advanced options
$qrCode->setWriterByName('png');
$qrCode->setMargin(10);
// In case you want to change colors
// RED foreground
$qrCode->setForegroundColor(['r' => 255, 'g' => 0, 'b' => 0, 'a' => 0]);
// WHITE blackground
$qrCode->setBackgroundColor(['r' => 255, 'g' => 255, 'b' => 255, 'a' => 0]);
// Save it to a file
$qrCode->writeFile( '/qrcode.png');
?>
<p>QR Image:</p>
<img src="<?= 'qrcode.png'; ?>" />
</div>
</body>
</html>