use Aspose\Imaging\Configuration; use Aspose\Imaging\ImagingApi; use Aspose\Imaging\Model\Requests\CreateGrayscaledImageRequest; use Aspose\Imaging\Model\Requests\GrayscaleImageRequest; use Exception; // Get ClientId and ClientSecret from https://dashboard.aspose.cloud/ // or use on-premise version (https://docs.aspose.cloud/imaging/getting-started/how-to-run-docker-container/) $ImageFileName = "example_image.wmf"; $ImagesFolder = "ExampleImages"; $CloudFolder = "CloudImages"; $OutputFolder = "Output"; $clientSecret = null; $clientId = null; $baseUrl = "https://api.aspose.cloud"; $imagingConfig = new Configuration(); $imagingConfig->setClientSecret($clientSecret); $imagingConfig->setClientId($clientId); $imagingConfig->setBaseUrl($baseUrl); $imagingApi = new ImagingApi($imagingConfig); /** * Grayscale an image from cloud storage. */ public function GrayscaleImageFromStorage() { $this->UploadSampleImageToCloud(); $inputImage = file_get_contents($this->ImagesFolder . DIRECTORY_SEPARATOR . $this->ImageFileName); $request = new UploadFileRequest($this->CloudPath . DIRECTORY_SEPARATOR . $this->ImageName, $inputImage); $response = self::$imagingApi->uploadFile($request); if ($response->getErrors() != null && count($response->getErrors()) == 0) echo ("Uploading errors count: " . count($response->getErrors())); $folder = $this->CloudFolder; // Input file is saved at the desired folder in the storage $storage = null; // We are using default Cloud Storage $request = new GrayscaleImageRequest($this->ImageFileName, $folder, $storage); $updatedImage = self::$imagingApi->grayscaleImage($request); // Save the image file to output folder $updatedImageName = "updated_" . $this->ImageFileName; $path = $this-> OutputFolder . DIRECTORY_SEPARATOR . $updatedImageName; file_put_contents($path, $updatedImage); } /** * Grayscale an image. Image data is passed in a request stream. */ public function CreateGrayscaledImageFromRequest() { $outPath = null; // Path to updated file (if this is empty, response contains streamed image) $storage = null; // We are using default Cloud Storage $inputStream = file_get_contents($this->ImagesFolder . DIRECTORY_SEPARATOR . $this->ImageFileName); $request = new CreateGrayscaledImageRequest($inputStream, $outPath, $storage); $updatedImage = self::$imagingApi->createGrayscaledImage($request); // Save the image file to output folder $updatedImageName = "updated_" . $this->ImageFileName; $path = $this-> OutputFolder . DIRECTORY_SEPARATOR . $updatedImageName; file_put_contents($path, $updatedImage); }