using System; using System.IO; using Aspose.Imaging.Cloud.Sdk.Api; using Aspose.Imaging.Cloud.Sdk.Model; using Aspose.Imaging.Cloud.Sdk.Model.Requests; string ImageFileName = "example_image.gif"; string ImagesFolder = "ExampleImages"; string CloudFolder = "CloudImages"; string OutputFolder = "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/) var api = new ImagingApi(clientSecret, clientId, "https://api.aspose.cloud"); /// <summary> /// Grayscale an image from cloud storage. /// </summary> public void GrayscaleImageFromStorage() { // Upload image to cloud storage using (var localInputImage = File.OpenRead(Path.Combine(ImagesFolder, ImageFileName))) { var uploadFileRequest = new UploadFileRequest(Path.Combine(CloudFolder, imageName), image); var result = api.UploadFile(uploadFileRequest); if (result.Errors?.Count > 0) throw new Exception($"Uploading errors count: {result.Errors.Count}"); } var folder = CloudFolder; // Input file is saved at the desired folder in the storage string storage = null; // We are using default Cloud Storage var request = new GrayscaleImageRequest(SampleImageFileName, folder, storage); using (var updatedImage = api.GrayscaleImage(request)) { // Save the image file to output folder var updatedImageName = "updated_" + ImageFileName; var path = Path.GetFullPath(Path.Combine(OutputFolder, updatedImageName)); using (var fileStream = File.Create(path)) { updatedImage.Seek(0, SeekOrigin.Begin); updatedImage.CopyTo(fileStream); } } } /// <summary> /// Grayscale an image. Image data is passed in a request stream. /// </summary> public void CreateGrayscaledImageFromRequest() { using (var inputImageStream = File.OpenRead(Path.Combine(ImagesFolder, ImageFileName))) { string storage = null; // We are using default Cloud Storage string outPath = null; // Path to updated file (if this is empty, response contains streamed image) var request = new CreateGrayscaledImageRequest(inputImageStream, outPath, storage); using (var updatedImage = api.CreateGrayscaledImage(request)) { // Save the image file to output folder var updatedImageName = "updated_" + ImageFileName; var path = Path.GetFullPath(Path.Combine(OutputFolder, updatedImageName)); using (var fileStream = File.Create(path)) { updatedImage.Seek(0, SeekOrigin.Begin); updatedImage.CopyTo(fileStream); } } } }