Resize GIF via C# Cloud API
Resize GIF using native .NET Cloud APIs without needing any image editor or 3rd-party libraries.
Get StartedHow to Resize 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 Resize GIF via C# Cloud API
Developers can easily load & resize GIF files in just a few lines of code.
- Load GIF file as stream
- Create & set the instance of CreateResizedImageRequest
- Set new Width and Height properties
- Call the CreateResizedImage method
- Get resized 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.
Resize 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> | |
/// Resizes an image from cloud storage. | |
/// </summary> | |
public void ResizeImageFromStorage() | |
{ | |
// 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/#resize | |
// for possible formats | |
var format = "gif"; // Resulting image format. | |
int? width = 100; | |
int? height = 150; | |
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 ResizeImageRequest(SampleImageFileName, width, height, format, folder, storage); | |
using (var updatedImage = api.ResizeImage(request)) | |
{ | |
// Save the image file to output folder | |
var resizedImageName = Path.ChangeExtension(ImageFileName, "gif") | |
var path = Path.GetFullPath(Path.Combine(OutputFolder, resizedImageName)); | |
using (var fileStream = File.Create(path)) | |
{ | |
updatedImage.Seek(0, SeekOrigin.Begin); | |
updatedImage.CopyTo(fileStream); | |
} | |
} | |
} | |
/// <summary> | |
/// Resizes an image. Image data is passed in a request stream. | |
/// </summary> | |
public void CreateResizedImageFromRequest() | |
{ | |
using (var inputImageStream = File.OpenRead(Path.Combine(ImagesFolder, ImageFileName))) | |
{ | |
// Please refer to https://docs.aspose.cloud/imaging/supported-file-formats/#resize | |
// for possible formats | |
var format = "gif"; | |
int? width = 100; | |
int? height = 150; | |
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 CreateResizedImageRequest(inputImageStream, width, height, format, outPath, storage); | |
using (var updatedImage = api.CreateResizedImage(request)) | |
{ | |
// Save the image file to output folder | |
var resizedImageName = Path.ChangeExtension(ImageFileName, "gif") | |
var path = Path.GetFullPath(Path.Combine(OutputFolder, resizedImageName)); | |
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.
Resize GIFs via Online App
Resize 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 resize different formats including: