Exemple #1
0
 public function estimateBitStreamSizeOfEntry($version)
 {
     $bits = 0;
     if ($version == 0) {
         $version = 1;
     }
     switch ($this->mode) {
         case QR_MODE_NUM:
             $bits = wechat_qrcode_QRinput::estimateBitsModeNum($this->size);
             break;
         case QR_MODE_AN:
             $bits = wechat_qrcode_QRinput::estimateBitsModeAn($this->size);
             break;
         case QR_MODE_8:
             $bits = wechat_qrcode_QRinput::estimateBitsMode8($this->size);
             break;
         case QR_MODE_KANJI:
             $bits = wechat_qrcode_QRinput::estimateBitsModeKanji($this->size);
             break;
         case QR_MODE_STRUCTURE:
             return STRUCTURE_HEADER_BITS;
         default:
             return 0;
     }
     $l = wechat_qrcode_QRspec::lengthIndicator($this->mode, $version);
     $m = 1 << $l;
     $num = (int) (($this->size + $m - 1) / $m);
     $bits += $num * (4 + $l);
     return $bits;
 }