Grayscale GIF via C# Cloud API
Grayscale GIF using native .NET Cloud APIs without needing any image editor or 3rd-party libraries.
Get StartedHow to Grayscale GIF Using C# Cloud API
In order to process images, we’ll use Aspose.Imaging.Cloud for .NET API which is a feature-rich, powerful and easy to use image manipulation and conversion API for C# platform. Open NuGet package manager, search for Aspose.Imaging-Cloud and install. You may also use the following command from the Package Manager Console.
Package Manager Console Command
PM> Install-Package Aspose.Imaging-Cloud
Steps to Grayscale GIF via C# Cloud API
Developers can easily load & grayscale GIF files in just a few lines of code.
- Load GIF file as stream
- Create & set the instance of CreateGrayscaledImageRequest
- Call the CreateGrayscaledImage method
- Get grayscaled image from response stream
System Requirements
Aspose.Imaging Cloud for .NET is supported on all major operating systems. Just make sure that you have the following prerequisites.
- Microsoft Windows or a compatible OS with .NET Framework, .NET Core, Windows Application, ASP.NET Web Application.
- Development environment like Microsoft Visual Studio.
- Aspose.Imaging Cloud for .NET referenced in your project.
Grayscale GIF - Cloud
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); | |
} | |
} | |
} | |
} |
About Aspose.Imaging Cloud API for .NET
Aspose.Imaging Cloud API is an image processing solution to process images (photos) within your cloud or web applications. It offers: cross-platform Image processing, including but not limited to conversions between various image formats (including uniform multi-page or multi-frame image processing), transformations (resize, crop, flip&rotate, grayscale, adjust), advanced image manipulation features (filtering, deskewing), AI features (i.e. object detection and reverse image search). It’s a Cloud API and does not depend on any software for image operations. One can easily add high-performance image conversion features with Cloud APIs within projects. Flexible integrations options including SDKs for various languages (Python, Ruby, .NET, Java, NodeJS, PHP) and the use of the REST API allow to make the integration easy.
Grayscale GIFs via Online App
Grayscale GIF documents by visiting our Live Demos website. The live demo has the following benefits:
GIF What is GIF File Format
A GIF or Graphical Interchange Format is a type of highly compressed image. Owned by Unisys, GIF uses the LZW compression algorithm that does not degrade the image quality. For each image GIF typically allow up to 8 bits per pixel and up to 256 colours are allowed across the image. In contrast to a JPEG image, which can display up to 16 million colours and fairly touches the limits of the human eye. Back when the internet emerged, GIFs remained the best choice because they required low bandwidth and compatible for the graphics that consume solid areas of colour. An animated GIF combines numerous images or frames into a single file and displays them in a sequence to generate an animated clip or a short video. The colour limitations are up to 256 for each frame and are likely to be the least suitable for reproducing other images and photographs with colour gradient.
Read MoreOther Supported Conversions
Using C# Cloud API, one can easily grayscale different formats including: