----------------------------------------------------------------------
($version)
| 720 | |
| 721 | //---------------------------------------------------------------------- |
| 722 | public static function createFrame($version) |
| 723 | { |
| 724 | $width = self::$capacity[$version][QRCAP_WIDTH]; |
| 725 | $frameLine = str_repeat ("\0", $width); |
| 726 | $frame = array_fill(0, $width, $frameLine); |
| 727 | |
| 728 | // Finder pattern |
| 729 | self::putFinderPattern($frame, 0, 0); |
| 730 | self::putFinderPattern($frame, $width - 7, 0); |
| 731 | self::putFinderPattern($frame, 0, $width - 7); |
| 732 | |
| 733 | // Separator |
| 734 | $yOffset = $width - 7; |
| 735 | |
| 736 | for($y=0; $y<7; $y++) { |
| 737 | $frame[$y][7] = "\xc0"; |
| 738 | $frame[$y][$width - 8] = "\xc0"; |
| 739 | $frame[$yOffset][7] = "\xc0"; |
| 740 | $yOffset++; |
| 741 | } |
| 742 | |
| 743 | $setPattern = str_repeat("\xc0", 8); |
| 744 | |
| 745 | QRstr::set($frame, 0, 7, $setPattern); |
| 746 | QRstr::set($frame, $width-8, 7, $setPattern); |
| 747 | QRstr::set($frame, 0, $width - 8, $setPattern); |
| 748 | |
| 749 | // Format info |
| 750 | $setPattern = str_repeat("\x84", 9); |
| 751 | QRstr::set($frame, 0, 8, $setPattern); |
| 752 | QRstr::set($frame, $width - 8, 8, $setPattern, 8); |
| 753 | |
| 754 | $yOffset = $width - 8; |
| 755 | |
| 756 | for($y=0; $y<8; $y++,$yOffset++) { |
| 757 | $frame[$y][8] = "\x84"; |
| 758 | $frame[$yOffset][8] = "\x84"; |
| 759 | } |
| 760 | |
| 761 | // Timing pattern |
| 762 | |
| 763 | for($i=1; $i<$width-15; $i++) { |
| 764 | $frame[6][7+$i] = chr(0x90 | ($i & 1)); |
| 765 | $frame[7+$i][6] = chr(0x90 | ($i & 1)); |
| 766 | } |
| 767 | |
| 768 | // Alignment pattern |
| 769 | self::putAlignmentPattern($version, $frame, $width); |
| 770 | |
| 771 | // Version information |
| 772 | if($version >= 7) { |
| 773 | $vinf = self::getVersionPattern($version); |
| 774 | |
| 775 | $v = $vinf; |
| 776 | |
| 777 | for($x=0; $x<6; $x++) { |
| 778 | for($y=0; $y<3; $y++) { |
| 779 | $frame[($width - 11)+$y][$x] = chr(0x88 | ($v & 1)); |
no test coverage detected