import os import asposeimagingcloud.models.requests as requests IMAGE_FILE_NAME= 'example_image.jpeg'; IMAGES_FOLDER = 'ExampleImages'; CLOUD_FOLDER = 'CloudImages'; OUTPUT_FOLDER = 'Output'; # 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/) _imaging_api = ImagingApi(client_secret, client_id, 'https://api.aspose.cloud') def grayscale_from_storage(self): """Grayscale an image from cloud storage""" input_image = os.path.join(IMAGES_FOLDER, IMAGE_FILE_NAME) upload_file_request = requests.UploadFileRequest(os.path.join(CLOUD_FOLDER, IMAGE_FILE_NAME), input_image) result = self._imaging_api.upload_file(upload_file_request) if result.errors: print('Uploading errors count: ' + str(len(result.errors))) folder = CLOUD_FOLDER # Input file is saved at the desired folder in the storage storage = None # We are using default Cloud Storage request = requests.GrayscaleImageRequest(IMAGE_FILE_NAME, folder, storage) updated_image = self._imaging_api.grayscale_image(request) # Save the image file to output folder new_file_name = "updated_" + IMAGE_FILE_NAME path = os.path.abspath(os.path.join(OUTPUT_FOLDER, new_file_name)) shutil.copy(updated_image, path) def create_grayscale_image_from_request(self): """Grayscale an image. Image data is passed in a request stream""" storage = None # We are using default Cloud Storage out_path = None # Path to updated file (if this is empty, response contains streamed image) input_stream = os.path.join(IMAGES_FOLDER, IMAGE_FILE_NAME) request = requests.CreateGrayscaledImageRequest(input_stream, out_path, storage) updated_image = self._imaging_api.create_grayscaled_image(request) # Save the image file to output folder new_file_name = "updated_" + IMAGE_FILE_NAME path = os.path.abspath(os.path.join(OUTPUT_FOLDER, new_file_name)) shutil.copy(updated_image, path)