当前位置: 首页>>代码示例>>PHP>>正文


PHP PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE_Blip类代码示例

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


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

示例1: _buildWorkbookEscher

 /**
  * Build the Escher object corresponding to the MSODRAWINGGROUP record
  */
 private function _buildWorkbookEscher()
 {
     $escher = null;
     // any drawings in this workbook?
     $found = false;
     foreach ($this->_phpExcel->getAllSheets() as $sheet) {
         if (count($sheet->getDrawingCollection()) > 0) {
             $found = true;
             break;
         }
     }
     // nothing to do if there are no drawings
     if (!$found) {
         return;
     }
     // if we reach here, then there are drawings in the workbook
     $escher = new PHPExcel_Shared_Escher();
     // dggContainer
     $dggContainer = new PHPExcel_Shared_Escher_DggContainer();
     $escher->setDggContainer($dggContainer);
     // set IDCLs (identifier clusters)
     $dggContainer->setIDCLs($this->_IDCLs);
     // this loop is for determining maximum shape identifier of all drawing
     $spIdMax = 0;
     $totalCountShapes = 0;
     $countDrawings = 0;
     foreach ($this->_phpExcel->getAllsheets() as $sheet) {
         $sheetCountShapes = 0;
         // count number of shapes (minus group shape), in sheet
         if (count($sheet->getDrawingCollection()) > 0) {
             ++$countDrawings;
             foreach ($sheet->getDrawingCollection() as $drawing) {
                 ++$sheetCountShapes;
                 ++$totalCountShapes;
                 $spId = $sheetCountShapes | $this->_phpExcel->getIndex($sheet) + 1 << 10;
                 $spIdMax = max($spId, $spIdMax);
             }
         }
     }
     $dggContainer->setSpIdMax($spIdMax + 1);
     $dggContainer->setCDgSaved($countDrawings);
     $dggContainer->setCSpSaved($totalCountShapes + $countDrawings);
     // total number of shapes incl. one group shapes per drawing
     // bstoreContainer
     $bstoreContainer = new PHPExcel_Shared_Escher_DggContainer_BstoreContainer();
     $dggContainer->setBstoreContainer($bstoreContainer);
     // the BSE's (all the images)
     foreach ($this->_phpExcel->getAllsheets() as $sheet) {
         foreach ($sheet->getDrawingCollection() as $drawing) {
             if ($drawing instanceof PHPExcel_Worksheet_Drawing) {
                 $filename = $drawing->getPath();
                 list($imagesx, $imagesy, $imageFormat) = getimagesize($filename);
                 switch ($imageFormat) {
                     case 1:
                         // GIF, not supported by BIFF8, we convert to PNG
                         $blipType = PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE::BLIPTYPE_PNG;
                         ob_start();
                         imagepng(imagecreatefromgif($filename));
                         $blipData = ob_get_contents();
                         ob_end_clean();
                         break;
                     case 2:
                         // JPEG
                         $blipType = PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE::BLIPTYPE_JPEG;
                         $blipData = file_get_contents($filename);
                         break;
                     case 3:
                         // PNG
                         $blipType = PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE::BLIPTYPE_PNG;
                         $blipData = file_get_contents($filename);
                         break;
                     case 6:
                         // Windows DIB (BMP), we convert to PNG
                         $blipType = PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE::BLIPTYPE_PNG;
                         ob_start();
                         imagepng(PHPExcel_Shared_Drawing::imagecreatefrombmp($filename));
                         $blipData = ob_get_contents();
                         ob_end_clean();
                         break;
                     default:
                         continue 2;
                 }
                 $blip = new PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE_Blip();
                 $blip->setData($blipData);
                 $BSE = new PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE();
                 $BSE->setBlipType($blipType);
                 $BSE->setBlip($blip);
                 $bstoreContainer->addBSE($BSE);
             } else {
                 if ($drawing instanceof PHPExcel_Worksheet_MemoryDrawing) {
                     switch ($drawing->getRenderingFunction()) {
                         case PHPExcel_Worksheet_MemoryDrawing::RENDERING_JPEG:
                             $blipType = PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE::BLIPTYPE_JPEG;
                             $renderingFunction = 'imagejpeg';
                             break;
                         case PHPExcel_Worksheet_MemoryDrawing::RENDERING_GIF:
                         case PHPExcel_Worksheet_MemoryDrawing::RENDERING_PNG:
//.........这里部分代码省略.........
开发者ID:TheTypoMaster,项目名称:SPHERE-Framework,代码行数:101,代码来源:Excel5.php

示例2: setBlip

 /**
  * Set the BLIP
  *
  * @param PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE_Blip $blip
  */
 public function setBlip($blip)
 {
     $this->_blip = $blip;
     $blip->setParent($this);
 }
开发者ID:phpsmith,项目名称:IS4C,代码行数:10,代码来源:BSE.php

示例3: _readBlipPNG

 /**
  * Read BlipPNG record. Holds raw PNG image data
  */
 private function _readBlipPNG()
 {
     // offset: 0; size: 2; recVer and recInstance
     // bit: 4-15; mask: 0xFFF0; recInstance
     $recInstance = (0xfff0 & PHPExcel_Reader_Excel5::_GetInt2d($this->_data, $this->_pos)) >> 4;
     $length = PHPExcel_Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4);
     $recordData = substr($this->_data, $this->_pos + 8, $length);
     // move stream pointer to next record
     $this->_pos += 8 + $length;
     $pos = 0;
     // offset: 0; size: 16; rgbUid1 (MD4 digest of)
     $rgbUid1 = substr($recordData, 0, 16);
     $pos += 16;
     // offset: 16; size: 16; rgbUid2 (MD4 digest), only if $recInstance = 0x46B or 0x6E3
     if ($recInstance == 0x6e1) {
         $rgbUid2 = substr($recordData, 16, 16);
         $pos += 16;
     }
     // offset: var; size: 1; tag
     $tag = ord($recordData[$pos]);
     $pos += 1;
     // offset: var; size: var; the raw image data
     $data = substr($recordData, $pos);
     $blip = new PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE_Blip();
     $blip->setData($data);
     $this->_object->setBlip($blip);
 }
开发者ID:JaeHoYun,项目名称:generatedata,代码行数:30,代码来源:Escher.php

示例4: _writeMsoDrawingGroup

 /**
  * Writes the MSODRAWINGGROUP record if needed. Possibly split using CONTINUE records.
  */
 private function _writeMsoDrawingGroup()
 {
     // any drawings in this workbook?
     $found = false;
     foreach ($this->_phpExcel->getAllSheets() as $sheet) {
         if (count($sheet->getDrawingCollection()) > 0) {
             $found = true;
         }
     }
     // if there are drawings, then we need to write MSODRAWINGGROUP record
     if ($found) {
         // create intermediate Escher object
         $escher = new PHPExcel_Shared_Escher();
         // dggContainer
         $dggContainer = new PHPExcel_Shared_Escher_DggContainer();
         $escher->setDggContainer($dggContainer);
         // this loop is for determining maximum shape identifier of all drawing
         $spIdMax = 0;
         $totalCountShapes = 0;
         $countDrawings = 0;
         foreach ($this->_phpExcel->getAllsheets() as $sheet) {
             $sheetCountShapes = 0;
             // count number of shapes (minus group shape), in sheet
             if (count($sheet->getDrawingCollection()) > 0) {
                 ++$countDrawings;
                 foreach ($sheet->getDrawingCollection() as $drawing) {
                     ++$sheetCountShapes;
                     ++$totalCountShapes;
                     $spId = $sheetCountShapes | $this->_phpExcel->getIndex($sheet) + 1 << 10;
                     $spIdMax = max($spId, $spIdMax);
                 }
             }
         }
         $dggContainer->setSpIdMax($spIdMax + 1);
         $dggContainer->setCDgSaved($countDrawings);
         $dggContainer->setCSpSaved($totalCountShapes + $countDrawings);
         // total number of shapes incl. one group shapes per drawing
         // bstoreContainer
         $bstoreContainer = new PHPExcel_Shared_Escher_DggContainer_BstoreContainer();
         $dggContainer->setBstoreContainer($bstoreContainer);
         // the BSE's (all the images)
         foreach ($this->_phpExcel->getAllsheets() as $sheet) {
             foreach ($sheet->getDrawingCollection() as $drawing) {
                 if ($drawing instanceof PHPExcel_Worksheet_Drawing) {
                     $filename = $drawing->getPath();
                     list($imagesx, $imagesy, $imageFormat) = getimagesize($filename);
                     switch ($imageFormat) {
                         case 1:
                             // GIF, not supported by BIFF8, we convert to PNG
                             $blipType = PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE::BLIPTYPE_PNG;
                             $imageResource = imagecreatefromgif($filename);
                             ob_start();
                             imagepng($imageResource);
                             $blipData = ob_get_contents();
                             ob_end_clean();
                             break;
                         case 2:
                             // JPEG
                             $blipType = PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE::BLIPTYPE_JPEG;
                             $blipData = file_get_contents($filename);
                             break;
                         case 3:
                             // PNG
                             $blipType = PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE::BLIPTYPE_PNG;
                             $blipData = file_get_contents($filename);
                             break;
                         case 6:
                             // Windows DIB (BMP), we convert to PNG
                             $blipType = PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE::BLIPTYPE_PNG;
                             $imageResource = PHPExcel_Shared_Drawing::imagecreatefrombmp($filename);
                             ob_start();
                             imagepng($imageResource);
                             $blipData = ob_get_contents();
                             ob_end_clean();
                             break;
                         default:
                             continue 2;
                     }
                     $blip = new PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE_Blip();
                     $blip->setData($blipData);
                     $BSE = new PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE();
                     $BSE->setBlipType($blipType);
                     $BSE->setBlip($blip);
                     $bstoreContainer->addBSE($BSE);
                 } else {
                     if ($drawing instanceof PHPExcel_Worksheet_MemoryDrawing) {
                         switch ($drawing->getRenderingFunction()) {
                             case PHPExcel_Worksheet_MemoryDrawing::RENDERING_JPEG:
                                 $blipType = PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE::BLIPTYPE_JPEG;
                                 $renderingFunction = 'imagejpeg';
                                 break;
                             case PHPExcel_Worksheet_MemoryDrawing::RENDERING_GIF:
                             case PHPExcel_Worksheet_MemoryDrawing::RENDERING_PNG:
                             case PHPExcel_Worksheet_MemoryDrawing::RENDERING_DEFAULT:
                                 $blipType = PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE::BLIPTYPE_PNG;
                                 $renderingFunction = 'imagepng';
                                 break;
//.........这里部分代码省略.........
开发者ID:bshaffer,项目名称:Donate-Nashville,代码行数:101,代码来源:Workbook.php


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