html.php 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. <?php
  2. /**
  3. *
  4. * @filesource html.php
  5. * @created 21.12.2017
  6. * @author Smiley <smiley@chillerlan.net>
  7. * @copyright 2017 Smiley
  8. * @license MIT
  9. */
  10. namespace chillerlan\QRCodeExamples;
  11. use chillerlan\QRCode\{QRCode, QROptions};
  12. require_once '../vendor/autoload.php';
  13. header('Content-Type: text/html; charset=utf-8');
  14. ?>
  15. <!DOCTYPE html>
  16. <html lang="en">
  17. <head>
  18. <meta charset="UTF-8"/>
  19. <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
  20. <title>QRCode test</title>
  21. <style>
  22. body{
  23. margin: 5em;
  24. padding: 0;
  25. }
  26. div.qrcode{
  27. margin: 0;
  28. padding: 0;
  29. }
  30. /* row element */
  31. div.qrcode > div {
  32. margin: 0;
  33. padding: 0;
  34. height: 10px;
  35. }
  36. /* column element(s) */
  37. div.qrcode > div > span,
  38. div.qrcode > div > span {
  39. display: inline-block;
  40. width: 10px;
  41. height: 10px;
  42. }
  43. div.qrcode > div > span {
  44. background-color: #ccc;
  45. }
  46. div.qrcode > div > span {
  47. background-color: #fff;
  48. }
  49. </style>
  50. </head>
  51. <body>
  52. <div class="qrcode">
  53. <?php
  54. $data = 'https://www.youtube.com/watch?v=DLzxrzFCyOs&t=43s';
  55. $options = new QROptions([
  56. 'version' => 5,
  57. 'outputType' => QRCode::OUTPUT_MARKUP_HTML,
  58. 'eccLevel' => QRCode::ECC_L,
  59. 'moduleValues' => [
  60. // finder
  61. 1536 => '#A71111', // dark (true)
  62. 6 => '#FFBFBF', // light (false)
  63. // alignment
  64. 2560 => '#A70364',
  65. 10 => '#FFC9C9',
  66. // timing
  67. 3072 => '#98005D',
  68. 12 => '#FFB8E9',
  69. // format
  70. 3584 => '#003804',
  71. 14 => '#00FB12',
  72. // version
  73. 4096 => '#650098',
  74. 16 => '#E0B8FF',
  75. // data
  76. 1024 => '#4A6000',
  77. 4 => '#ECF9BE',
  78. // darkmodule
  79. 512 => '#080063',
  80. // separator
  81. 8 => '#AFBFBF',
  82. // quietzone
  83. 18 => '#FFFFFF',
  84. ],
  85. ]);
  86. echo (new QRCode($options))->render($data);
  87. ?>
  88. </div>
  89. </body>
  90. </html>