示例#1
0
 /**
  * @return int
  * @throws \yii\base\InvalidConfigException
  */
 public function convertData()
 {
     $ver = $this->estimateVersion();
     if ($ver > $this->getVersion()) {
         $this->setVersion($ver);
     }
     for (;;) {
         $bits = $this->createBitStream();
         if ($bits < 0) {
             return -1;
         }
         $ver = Specifications::getMinimumVersion((int) (($bits + 7) / 8), $this->level);
         if ($ver < 0) {
             throw new InvalidConfigException('Wrong version');
         } else {
             if ($ver > $this->getVersion()) {
                 $this->setVersion($ver);
             } else {
                 break;
             }
         }
     }
     return 0;
 }