• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

PHP QRinput类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了PHP中QRinput的典型用法代码示例。如果您正苦于以下问题:PHP QRinput类的具体用法?PHP QRinput怎么用?PHP QRinput使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



在下文中一共展示了QRinput类的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的PHP代码示例。

示例1: __construct

 public function __construct(QRinput $input)
 {
     $spec = array(0, 0, 0, 0, 0);
     $this->datacode = $input->getByteStream();
     if (is_null($this->datacode)) {
         throw new Exception('null imput string');
     }
     QRspec::getEccSpec($input->getVersion(), $input->getErrorCorrectionLevel(), $spec);
     $this->version = $input->getVersion();
     $this->b1 = QRspec::rsBlockNum1($spec);
     $this->dataLength = QRspec::rsDataLength($spec);
     $this->eccLength = QRspec::rsEccLength($spec);
     $this->ecccode = array_fill(0, $this->eccLength, 0);
     $this->blocks = QRspec::rsBlockNum($spec);
     $ret = $this->init($spec);
     if ($ret < 0) {
         throw new Exception('block alloc error');
         return null;
     }
     $this->count = 0;
 }
开发者ID:yiuked,项目名称:tmcart,代码行数:21,代码来源:QRrawcode.php


示例2: encodeString8bit

 public function encodeString8bit($string, $version, $level)
 {
     if (string == NULL) {
         throw new Exception('empty string!');
         return NULL;
     }
     $input = new QRinput($version, $level);
     if ($input == NULL) {
         return NULL;
     }
     $ret = $input->append($input, QR_MODE_8, strlen($string), str_split($string));
     if ($ret < 0) {
         unset($input);
         return NULL;
     }
     return $this->encodeInput($input);
 }
开发者ID:eoobot,项目名称:coinwidget.com,代码行数:17,代码来源:qrencode.php


示例3: estimateBitStreamSizeOfEntry

 public function estimateBitStreamSizeOfEntry($version)
 {
     $bits = 0;
     if ($version == 0) {
         $version = 1;
     }
     switch ($this->mode) {
         case QR_MODE_NUM:
             $bits = QRinput::estimateBitsModeNum($this->size);
             break;
         case QR_MODE_AN:
             $bits = QRinput::estimateBitsModeAn($this->size);
             break;
         case QR_MODE_8:
             $bits = QRinput::estimateBitsMode8($this->size);
             break;
         case QR_MODE_KANJI:
             $bits = QRinput::estimateBitsModeKanji($this->size);
             break;
         case QR_MODE_STRUCTURE:
             return STRUCTURE_HEADER_BITS;
         default:
             return 0;
     }
     $l = QRspec::lengthIndicator($this->mode, $version);
     $m = 1 << $l;
     $num = (int) (($this->size + $m - 1) / $m);
     $bits += $num * (4 + $l);
     return $bits;
 }
开发者ID:nilamdoc,项目名称:KYCGlobal,代码行数:30,代码来源:QRinputitem.php


示例4: eat8

 public function eat8()
 {
     $la = QRspec::lengthIndicator(QR_MODE_AN, $this->input->getVersion());
     $ln = QRspec::lengthIndicator(QR_MODE_NUM, $this->input->getVersion());
     $p = 1;
     $dataStrLen = strlen($this->dataStr);
     while ($p < $dataStrLen) {
         $mode = $this->identifyMode($p);
         if ($mode == QR_MODE_KANJI) {
             break;
         }
         if ($mode == QR_MODE_NUM) {
             $q = $p;
             while (self::isdigitat($this->dataStr, $q)) {
                 $q++;
             }
             $dif = QRinput::estimateBitsMode8($p) + QRinput::estimateBitsModeNum($q - $p) + 4 + $ln - QRinput::estimateBitsMode8($q);
             // - 4 - l8
             if ($dif < 0) {
                 break;
             } else {
                 $p = $q;
             }
         } else {
             if ($mode == QR_MODE_AN) {
                 $q = $p;
                 while (self::isalnumat($this->dataStr, $q)) {
                     $q++;
                 }
                 $dif = QRinput::estimateBitsMode8($p) + QRinput::estimateBitsModeAn($q - $p) + 4 + $la - QRinput::estimateBitsMode8($q);
                 // - 4 - l8
                 if ($dif < 0) {
                     break;
                 } else {
                     $p = $q;
                 }
             } else {
                 $p++;
             }
         }
     }
     $run = $p;
     $ret = $this->input->append(QR_MODE_8, $run, str_split($this->dataStr));
     if ($ret < 0) {
         return -1;
     }
     return $run;
 }
开发者ID:nick-feifan,项目名称:healthwisetreat,代码行数:48,代码来源:qrsplit.php


示例5: eat8

 public function eat8()
 {
     $la = QRspec::lengthIndicator(QR_MODE_AN, $this->input->getVersion());
     $ln = QRspec::lengthIndicator(QR_MODE_NUM, $this->input->getVersion());
     $p = 1;
     //$dataStrLen = strlen($this->dataStr);
     $dataStrLen = mb_strlen($this->dataStr, 'CP1251');
     $_str = $this->dataStr;
     $_p = 0;
     while ($p < $dataStrLen) {
         $mode = $this->identifyMode($p);
         if ($mode == QR_MODE_KANJI) {
             break;
         }
         if ($mode == QR_MODE_NUM) {
             $q = $p;
             while (self::isdigitat($this->dataStr, $q)) {
                 $q++;
             }
             $dif = QRinput::estimateBitsMode8($p) + QRinput::estimateBitsModeNum($q - $p) + 4 + $ln - QRinput::estimateBitsMode8($q);
             // - 4 - l8
             if ($dif < 0) {
                 break;
             } else {
                 $p = $q;
             }
         } else {
             if ($mode == QR_MODE_AN) {
                 $q = $p;
                 while (self::isalnumat($this->dataStr, $q)) {
                     $q++;
                 }
                 $dif = QRinput::estimateBitsMode8($p) + QRinput::estimateBitsModeAn($q - $p) + 6 + $la - QRinput::estimateBitsMode8($q);
                 // - 4 - l8
                 if ($dif < 0) {
                     break;
                 } else {
                     $p = $q;
                 }
             } else {
                 if (BX_UTF === true) {
                     $value = ord($_str[$p]);
                     if ($value > 127) {
                         if ($value >= 192 && $value <= 223) {
                             $s = 1;
                         } elseif ($value >= 224 && $value <= 239) {
                             $s = 2;
                         } elseif ($value >= 240 && $value <= 247) {
                             $s = 3;
                         }
                     } else {
                         $s = 0;
                     }
                     $p = $p + $s;
                     $_p = $_p + $s;
                 }
                 $p++;
             }
         }
     }
     $run = $p;
     $ret = $this->input->append(QR_MODE_8, $run, str_split($this->dataStr));
     if ($ret < 0) {
         return -1;
     }
     return $run - $_p;
 }
开发者ID:nProfessor,项目名称:Mytb,代码行数:67,代码来源:qrsplit.php



注:本文中的QRinput类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
PHP QRspec类代码示例发布时间:2022-05-23
下一篇:
PHP QRimage类代码示例发布时间:2022-05-23
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap