/** * Process image data * * @param Product $product * @param array $imageData * @param string $file * @return $this * @SuppressWarnings(PHPMD.CyclomaticComplexity) * @SuppressWarnings(PHPMD.NPathComplexity) */ protected function processImageData(Product $product, array $imageData, $file) { $this->imageHelper->init($product, $imageData['id'], $imageData); $this->imageHelper->setImageFile($file); if (isset($imageData['aspect_ratio'])) { $this->imageHelper->keepAspectRatio($imageData['aspect_ratio']); } if (isset($imageData['frame'])) { $this->imageHelper->keepFrame($imageData['frame']); } if (isset($imageData['transparency'])) { $this->imageHelper->keepTransparency($imageData['transparency']); } if (isset($imageData['constrain'])) { $this->imageHelper->constrainOnly($imageData['constrain']); } if (isset($imageData['background'])) { $this->imageHelper->backgroundColor($imageData['background']); } $this->imageHelper->save(); return $this; }