/** * Process image crop. * * @param array $coordinates * @param ImageInterface $image * * @return array */ public function process(array $coordinates, ImageInterface $image) { $path = $this->imageCropper->crop($image, $coordinates); $image->setCropperCoordinates($coordinates); $image->setPath($path); $this->imageManager->save(); return array('original_path' => $image->getOriginalPath(), 'path' => $image->getPath()); }
public function modalAction(Request $request) { $image = null; if (null !== ($filename = $request->get('filename', null))) { $image = $this->imageManager->findByFilename($filename); } return $this->templating->renderResponse('SilvestraMediaBundle:Form:modal.html.twig', array('image' => $image)); }
public function process(UploadedFile $uploadedImage, array $config) { if ($errors = $this->validateUploadImage($uploadedImage, $config)) { return array('errors' => $errors); } $image = $this->imageUploader->createImage($uploadedImage); $this->imageManager->save(); return array('original_path' => $image->getOriginalPath(), 'filename' => $image->getFilename()); }
/** * Generate unique filename. * * @param string $originalFilename * * @return string */ public function generateUniqueFilename($originalFilename) { $index = 0; $filename = pathinfo($originalFilename, PATHINFO_FILENAME); $extension = pathinfo($originalFilename, PATHINFO_EXTENSION); while ($this->imageManager->findByFilename($originalFilename)) { $index++; $originalFilename = $filename . '-' . $index . '.' . $extension; } return $originalFilename; }
public function cropAction(Request $request) { $coordinates = $request->get('coordinates', null); $filename = $request->get('filename', null); if (!$filename || null === $coordinates) { throw new NotFoundHttpException('Invalid coordinates or filename request parameters!'); } $image = $this->imageManager->findByFilename($filename); if (null === $image) { throw new NotFoundImageException('Image not found!'); } $data = $this->imageCropHandler->process($coordinates, $image); $data['thumbnail_path'] = $this->imageResizer->resize($image->getPath(), array(150, 150), ImageResizerInterface::INSET); return new JsonResponse($data); }
/** * Create image. * * @param UploadedFile $uploadedImage * * @return ImageInterface */ public function createImage(UploadedFile $uploadedImage) { $image = $this->imageManager->create(); $filename = $this->getUniqueFilename($uploadedImage); $image->setFilename($filename); $image->setMimeType($uploadedImage->getClientMimeType()); $image->setOrderNr(1); $image->setOriginalPath($this->filesystem->getRelativeFilePath($filename)); $image->setPath($image->getOriginalPath()); $image->setSize($uploadedImage->getClientSize()); $image->setTemporary(true); $this->imageManager->add($image); $fileDir = $this->filesystem->getActualFileDir($filename); $uploadedImage->move($fileDir, $image->getFilename()); return $image; }
/** * Reverse transform. * * @param ImageInterface $image * * @return ImageInterface * * @throws TransformationFailedException */ public function reverseTransform($image) { if (null === $image) { return null; } $filename = $image->getFilename(); if (empty($filename)) { return null; } if ($this->preFilename && $this->preFilename !== $filename) { $this->imageManager->remove($image); } $image = $this->imageManager->findByFilename($filename); if (null === $image) { throw new TransformationFailedException(); } $image->setTemporary(false); return $image; }
/** * {@inheritdoc} */ public function getClass() { return $this->defaultManager->getClass(); }