Deskew GIF via PHP Cloud API
Deskew GIF using native PHP Cloud APIs without needing any image editor or 3rd-party libraries.
Get StartedHow to Deskew GIF Using PHP Cloud API
Aspose.Imaging.Cloud for PHP API which is a feature-rich, powerful and easy to use image manipulation and conversion Cloud API for PHP platform. You can install its latest version from Packagist
composer.json fragment
{
"require": {
"aspose/aspose-imaging-cloud": ">=version of aspose-imaging-cloud API"
}
}
Steps to Deskew GIF via PHP Cloud API
Developers can easily load & deskew GIF files in just a few lines of code.
- Load GIF file as stream
- Create & set the instance of CreateDeskewedImageRequest
- Set resize proportionally and back color
- Call the CreateDeskewedImage method
- Get deskewed image from response stream
System Requirements
Aspose.Imaging Cloud for PHP is supported on all major operating systems. Just make sure that you have the following prerequisites.
- php: >=5.6
- ext-json: *
- guzzlehttp/guzzle: ^6.3
- psr/http-message: ~1.0
Deskew GIF - Cloud
use Aspose\Imaging\Configuration; | |
use Aspose\Imaging\ImagingApi; | |
use Aspose\Imaging\Model\Requests\CreateDeskewedImageRequest; | |
use Aspose\Imaging\Model\Requests\DeskewImageRequest; | |
use Exception; | |
// 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/) | |
$ImageFileName = "example_image.gif"; | |
$ImagesFolder = "ExampleImages"; | |
$CloudFolder = "CloudImages"; | |
$OutputFolder = "Output"; | |
$clientSecret = null; | |
$clientId = null; | |
$baseUrl = "https://api.aspose.cloud"; | |
$imagingConfig = new Configuration(); | |
$imagingConfig->setClientSecret($clientSecret); | |
$imagingConfig->setClientId($clientId); | |
$imagingConfig->setBaseUrl($baseUrl); | |
$imagingApi = new ImagingApi($imagingConfig); | |
/** | |
* Deskew an image from cloud storage. | |
*/ | |
public function DeskewImageFromStorage() | |
{ | |
$this->UploadSampleImageToCloud(); | |
$inputImage = file_get_contents($this->ImagesFolder . DIRECTORY_SEPARATOR . $this->ImageFileName); | |
$request = new UploadFileRequest($this->CloudPath . DIRECTORY_SEPARATOR . $this->ImageName, $inputImage); | |
$response = self::$imagingApi->uploadFile($request); | |
if ($response->getErrors() != null && count($response->getErrors()) == 0) | |
echo ("Uploading errors count: " . count($response->getErrors())); | |
// Please refer to https://docs.aspose.cloud/imaging/supported-file-formats/#update for possible formats | |
$resizeProportionally = true; | |
$bkColor = "white"; | |
$folder = $this->CloudFolder; // Input file is saved at the desired folder in the storage | |
$storage = null; // We are using default Cloud Storage | |
$request = new DeskewImageRequest($this->ImageFileName, $resizeProportionally, $bkColor, $folder, $storage); | |
$updatedImage = self::$imagingApi->deskewImage($request); | |
// Save the image file to output folder | |
$updatedImageName = "deskewed_" . $this->ImageFileName; | |
$path = $this-> OutputFolder . DIRECTORY_SEPARATOR . $updatedImageName; | |
file_put_contents($path, $updatedImage); | |
} | |
/** | |
* Deskew an image. Image data is passed in a request stream. | |
*/ | |
public function CreateDeskewedImageFromRequest() | |
{ | |
// Please refer to https://docs.aspose.cloud/imaging/supported-file-formats/#update for possible formats | |
$resizeProportionally = true; | |
$bkColor = "white"; | |
$outPath = null; // Path to updated file (if this is empty, response contains streamed image) | |
$storage = null; // We are using default Cloud Storage | |
$inputStream = file_get_contents($this->ImagesFolder . DIRECTORY_SEPARATOR . $this->ImageFileName); | |
$request = new CreateDeskewedImageRequest($inputStream, $resizeProportionally, $bkColor, $outPath, $storage); | |
$updatedImage = self::$imagingApi->createDeskewedImage($request); | |
// Save the image file to output folder | |
$updatedImageName = "deskewed_" . $this->ImageFileName; | |
$path = $this-> OutputFolder . DIRECTORY_SEPARATOR . $updatedImageName; | |
file_put_contents($path, $updatedImage); | |
} |
About Aspose.Imaging Cloud API for PHP
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.
Deskew GIFs via Online App
Deskew 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 PHP Cloud API, one can easily deskew different formats including: