1*fb347f35SAndreas Gohr<?php 2*fb347f35SAndreas Gohr 3*fb347f35SAndreas Gohrnamespace Mpdf\QrCode\Output; 4*fb347f35SAndreas Gohr 5*fb347f35SAndreas Gohruse Mpdf\QrCode\QrCode; 6*fb347f35SAndreas Gohr 7*fb347f35SAndreas Gohrclass Html 8*fb347f35SAndreas Gohr{ 9*fb347f35SAndreas Gohr 10*fb347f35SAndreas Gohr /** 11*fb347f35SAndreas Gohr * @param \Mpdf\QrCode\QrCode $qrCode 12*fb347f35SAndreas Gohr * 13*fb347f35SAndreas Gohr * @return string 14*fb347f35SAndreas Gohr */ 15*fb347f35SAndreas Gohr public function output(QrCode $qrCode) 16*fb347f35SAndreas Gohr { 17*fb347f35SAndreas Gohr $s = ''; 18*fb347f35SAndreas Gohr 19*fb347f35SAndreas Gohr $qrSize = $qrCode->getQrSize(); 20*fb347f35SAndreas Gohr $final = $qrCode->getFinal(); 21*fb347f35SAndreas Gohr 22*fb347f35SAndreas Gohr if ($qrCode->isBorderDisabled()) { 23*fb347f35SAndreas Gohr $minSize = 4; 24*fb347f35SAndreas Gohr $maxSize = $qrSize - 4; 25*fb347f35SAndreas Gohr } else { 26*fb347f35SAndreas Gohr $minSize = 0; 27*fb347f35SAndreas Gohr $maxSize = $qrSize; 28*fb347f35SAndreas Gohr } 29*fb347f35SAndreas Gohr 30*fb347f35SAndreas Gohr $s .= '<table class="qr" cellpadding="0" cellspacing="0" style="font-size: 1px;">' . "\n"; 31*fb347f35SAndreas Gohr 32*fb347f35SAndreas Gohr for ($y = $minSize; $y < $maxSize; $y++) { 33*fb347f35SAndreas Gohr $s .= '<tr style="height: 4px;">'; 34*fb347f35SAndreas Gohr for ($x = $minSize; $x < $maxSize; $x++) { 35*fb347f35SAndreas Gohr $on = $final[$x + $y * $qrSize + 1]; 36*fb347f35SAndreas Gohr $s .= '<td class="' . ($on ? 'on' : 'off') . '" style="width: 4px; background-color: ' . ($on ? '#000' : '#FFF') . '"> </td>'; 37*fb347f35SAndreas Gohr } 38*fb347f35SAndreas Gohr $s .= '</tr>' . "\n"; 39*fb347f35SAndreas Gohr } 40*fb347f35SAndreas Gohr 41*fb347f35SAndreas Gohr $s .= '</table>'; 42*fb347f35SAndreas Gohr 43*fb347f35SAndreas Gohr return $s; 44*fb347f35SAndreas Gohr } 45*fb347f35SAndreas Gohr 46*fb347f35SAndreas Gohr} 47