/** * Применяет указанный фильтр к изображению. */ private function handleApplyImageEffect() { header('Content-Type: application/json; charset=utf8'); $image = $_POST['img']; $effect = $_POST['effect']; $previewPath = Image::getPreviewFile($image); $Imagine = new CustomImagine(); $Image = $Imagine->open($previewPath); if (!$this->applyEffect($Image, $effect, $_POST['additional'])) { echo json_encode(['error' => 'Unknown filter effect']); exit; } $Image->save(Image::getWorkFile($image)); echo json_encode(['url' => Image::getWorkWebPath($image) . '?r=' . rand(1, 119)]); exit; }