private function setSizesIfOneOfDimensionIsntSet(Node $node, Document $document) { if ($this->isImageAndSizesArentSet($node)) { $width = $node->getWidth(); $height = $node->getHeight(); $source = $node->createSource($document); $originalWidth = $source->getOriginalWidth(); $originalHeight = $source->getOriginalHeight(); $originalRatio = $originalHeight ? $originalWidth / $originalHeight : 0; if (!$width && !$height) { list($width, $height) = $this->setDimensionsFromParent($source, $node); } list($width, $height) = Util::calculateDependantSizes($width, $height, $originalRatio); $node->setWidth($width); $node->setHeight($height); } }
private function getImageDimension(UnitConverter $converter, $image, Node $node) { $width = $converter->convertUnit($this->imageWidth); $height = $converter->convertUnit($this->imageHeight); if (!$width && !$height) { return array($image->getOriginalWidth(), $image->getOriginalHeight()); } list($width, $height) = $this->convertPercentageDimension($converter, $node, $width, $height); $ratio = $image->getOriginalWidth() / $image->getOriginalHeight(); list($width, $height) = Util::calculateDependantSizes($width, $height, $ratio); return array($width, $height); }