Пример #1
0
 /**
  * Calculate scale of image.
  *
  * Calculates the output size of the image, depending on the available
  * space and the image dimensions.
  *
  * @param array $styles
  * @param ezcDocumentPdfImage $image
  * @param ezcDocumentPdfPage $page
  * @param flaot $width
  * @return array
  */
 protected function scaleImage(array $styles, ezcDocumentPdfImage $image, ezcDocumentPdfPage $page, $width)
 {
     $imageDimensions = $image->getDimensions();
     // Scale image down, if exceeds the maximum available width
     $imageSize = array($imageDimensions[0]->get(), $imageDimensions[1]->get());
     if ($imageSize[0] > $width->get()) {
         $imageSize[1] *= $width->get() / $imageSize[0];
         $imageSize[0] = $width->get();
     }
     // @todo: Apply styles for image scaling.
     // Check if image would fit on a new page using its default size.
     if ($page->innerHeight > $imageSize[1]) {
         return $imageSize;
     }
     // Otherwise we need to scale the image down even further
     $imageSize[0] *= $page->innerHeight / $imageSize[1];
     $imageSize[1] = $page->innerHeight;
     return $imageSize;
 }
Пример #2
0
 public function testImageHandler()
 {
     $image = ezcDocumentPdfImage::createFromFile(dirname(__FILE__) . '/../files/pdf/images/logo-white.png');
     $this->assertSame('image/png', $image->getMimeType());
     $this->assertEquals(array(new ezcDocumentPcssMeasure('113px'), new ezcDocumentPcssMeasure('57px')), $image->getDimensions());
 }
Пример #3
0
 /**
  * Create image handler object from file
  *
  * @param string $file
  * @return ezcDocumentPdfImage
  */
 public static function createFromFile($file)
 {
     $image = new ezcDocumentPdfImage();
     $image->loadFile($file);
     return $image;
 }