Crop JPEG2000 via NodeJs Cloud API
Crop JPEG2000 using native NodeJs Cloud APIs without needing any image editor or 3rd-party libraries.
Get StartedHow to Crop JPEG2000 Using NodeJs Cloud API
Aspose.Imaging.Cloud for Node.js API which is a feature-rich, powerful and easy to use image manipulation and conversion Cloud API for Node.js platform. You can install its latest version from npm
npm console command
npm i @asposecloud/aspose-imaging-cloud
Steps to Crop JPEG2000 via NodeJs Cloud API
Developers can easily load & crop JPEG2000 files in just a few lines of code.
- Load JPEG2000 file as stream
- Create & set the instance of CreateCroppedImageRequest
- Set start position and crop area size
- Call the CreateCroppedImage method
- Get cropped image from response stream
System Requirements
Aspose.Imaging Cloud for NodeJs is supported on all major operating systems. Just make sure that you have the following prerequisites.
- Node.js 6.x and higher.
Crop JPEG2000 - Cloud
import * as fs from "fs"; | |
import * as path from "path"; | |
import {ImagingBase} from "./imaging-base"; | |
import { | |
CreateCroppedImageRequest, CropImageRequest, | |
ImagingApi, | |
} from "@asposecloud/aspose-imaging-cloud"; | |
const ImageFileName = "example_image.jpeg2000"; | |
const ImagesFolder = "ExampleImages"; | |
const CloudFolder = "CloudImages"; | |
const 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/) | |
const api = new ImagingApi(clientSecret, clientId, "https://api.aspose.cloud"); | |
/** | |
* Crops the image from cloud storage. | |
*/ | |
public async CropImageFromStorage() { | |
const localInputImage = fs.readFileSync(path.join(ImagesFolder, ImageFileName)); | |
const uploadFileRequest = new UploadFileRequest({path: path.join(CloudFolder, imageName), file: image}); | |
const result = await this.api.uploadFile(uploadFileRequest); | |
if (result.errors.length > 0) | |
console.log(`Uploading errors count: ${result.errors.length}` | |
// Please refer to https://docs.aspose.cloud/imaging/supported-file-formats/#crop | |
// for possible formats | |
const format = "jpeg2000"; | |
const x = 10; | |
const y = 10; | |
const width = 100; | |
const height = 150; | |
const folder = this.CloudFolder; // Input file is saved at the desired folder in the storage | |
const storage = undefined; // We are using default Cloud Storage | |
const request = new CropImageRequest({ | |
name: this.ImageFileName, | |
format, | |
x, | |
y, | |
width, | |
height, | |
folder, | |
storage, | |
}); | |
const croppedImage = await this.api.cropImage(request); | |
// Save the image file to output folder | |
const croppedImageName = ImageFileName.substr(0, ImageFileName.lastIndexOf(".")) + "jpeg2000"; | |
const filePath = path.resolve(path.join(OutputFolder, croppedImageName)); | |
fs.writeFile(filePath, croppedImage, (err) => { | |
if (err) { | |
throw err; | |
} | |
}); | |
} | |
/** | |
* Crop an image. Image data is passed in a request stream. | |
*/ | |
public async CreateCroppedImageFromRequest() { | |
// Please refer to https://docs.aspose.cloud/imaging/supported-file-formats/#crop | |
// for possible formats | |
const format = "jpeg2000"; | |
const x = 10; | |
const y = 10; | |
const width = 100; | |
const height = 150; | |
const outPath = undefined; // Path to updated file (if this is empty, response contains streamed image) | |
const storage = undefined; // We are using default Cloud Storage | |
const inputStream = fs.readFileSync(path.resolve(ImagesFolder, ImageFileName)); | |
const request = new CreateCroppedImageRequest({ | |
imageData: inputStream, | |
format, | |
x, | |
y, | |
width, | |
height, | |
outPath, | |
storage, | |
}); | |
const croppedImage = await this.api.createCroppedImage(request); | |
// Save the image file to output folder | |
const croppedImageName = ImageFileName.substr(0, ImageFileName.lastIndexOf(".")) + "jpeg2000"; | |
const filePath = path.resolve(path.join(OutputFolder, croppedImageName)); | |
fs.writeFile(filePath, croppedImage, (err) => { | |
if (err) { | |
throw err; | |
} | |
}); | |
} |
About Aspose.Imaging Cloud API for NodeJs
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.
Crop JPEG2000s via Online App
Crop JPEG2000 documents by visiting our Live Demos website. The live demo has the following benefits:
JPEG2000 What is JPEG2000 File Format
JPEG 2000 (JP2) is an image coding system and state-of-the-art image compression standard. Designed, using wavelet technology JPEG 2000 can code lossless content in any quality at once. Moreover, without any substantial penalty in coding efficiency, JPEG 2000 have the capability to access and decode the same content efficaciously into a variety of other resolutions and qualities. The code streams in JPEG 2000 is significantly scalable having regions of interest that provide the facility for spatial random access. Possessing Up to 16384 diverse components with the dimensions in terapixels, and precision that can be high as 38 bits/sample.
Read MoreOther Supported Conversions
Using NodeJs Cloud API, one can easily crop different formats including: