|
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>
|
|
/// Convert an image to another format.
|
|
/// </summary>
|
|
public void ConvertImageFromStorage()
|
|
{
|
|
// 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}");
|
|
}
|
|
|
|
// Please refer to https://docs.aspose.cloud/imaging/supported-file-formats/#convert
|
|
// for possible output formats
|
|
var format = "jpeg2000";
|
|
var folder = CloudFolder; // Input file is saved at the desired folder in the storage
|
|
string storage = null; // Cloud Storage name
|
|
|
|
var request = new ConvertImageRequest(SampleImageFileName, format, folder, storage);
|
|
using (var updatedImage = api.ConvertImage(request))
|
|
{
|
|
// Save the image file to output folder
|
|
var convertedImageName = Path.ChangeExtension(ImageFileName, "jpeg2000")
|
|
var path = Path.GetFullPath(Path.Combine(OutputFolder, convertedImageName));
|
|
using (var fileStream = File.Create(path))
|
|
{
|
|
updatedImage.Seek(0, SeekOrigin.Begin);
|
|
updatedImage.CopyTo(fileStream);
|
|
}
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Convert an image to another format. Image data is passed in a request stream.
|
|
/// </summary>
|
|
public void CreateConvertedImageFromRequest()
|
|
{
|
|
using (var inputImageStream = File.OpenRead(Path.Combine(ImagesFolder, ImageFileName)))
|
|
{
|
|
// Please refer to https://docs.aspose.cloud/imaging/supported-file-formats/#convert
|
|
// for possible output formats
|
|
var format = "jpeg2000";
|
|
string outPath = null; // Path to updated file (if this is empty, response contains streamed image)
|
|
string storage = null; // Cloud Storage name
|
|
|
|
var request = new CreateConvertedImageRequest(inputImageStream, format, outPath, storage);
|
|
|
|
using (var updatedImage = api.CreateConvertedImage(request))
|
|
{
|
|
// Save the image file to output folder
|
|
var convertedImageName = Path.ChangeExtension(ImageFileName, "jpeg2000")
|
|
var path = Path.GetFullPath(Path.Combine(OutputFolder, convertedImageName));
|
|
using (var fileStream = File.Create(path))
|
|
{
|
|
updatedImage.Seek(0, SeekOrigin.Begin);
|
|
updatedImage.CopyTo(fileStream);
|
|
}
|
|
}
|
|
}
|
|
}
|