The JSImage class provides a scripting interface for image manipulation, enabling operations like resizing, rotating, flipping, and metadata management. It integrates with the images plugin for streamlined handling of image files.
Functionality
The class supports image transformation, including flipping vertically or horizontally with flip(type) and rotating by a specified number of degrees using rotate(degrees). Images can be resized while maintaining their aspect ratio through resize(width, height). Methods like getWidth() and getHeight() retrieve image dimensions.
For metadata, getMetaDataProperties() lists available properties, while getMetaDataDescription(property) and getMetaDataObject(property) provide detailed information or the actual metadata object. The getContentType() method fetches the MIME type of the image, and getData() retrieves the image bytes for storage or further processing.
These features enable comprehensive control and management of image files in scripting environments.
For more details, please refer to the Images plugin section of this documentation.
var image =plugins.images.getImage(byteArray_or_file_or_filename);//loads the imageimage =image.flip(0);//flip verticallyvar bytes =image.getData();//gets the image bytesplugins.file.writeFile('filename',bytes);//saves the image bytes
var image =plugins.images.getImage(byteArray_or_file_or_filename);//loads the imageimage =image.resize(200,200);//resizes it to 200,200var bytes =image.getData();//gets the image bytesplugins.file.writeFile('filename',bytes);//saves the image bytes
var image =plugins.images.getImage(byteArray_or_file_or_filename);//loads the image// get the available metadata properties from the image, currently only jpg is supportedvar propertiesArray =image.getMetaDataProperties();for(var i=0;i<propertiesArray.length;i++){var property = propertiesArray[i]application.output("property: "+ property);application.output("description (string): "+image.getMetaDataDescription(property))application.output("real object: "+image.getMetaDataObject(property))}// Thumbnail data is stored under property 'Exif - Thumbnail Data', extract that and set it in a dataproviderthumbnail =image.getMetaDataObject("Exif - Thumbnail Data"); // gets thumbnail data from the image
getMetaDataObject(property)
Gets the real object of a metadata property from the image. Currently only jpg is supported.
var image =plugins.images.getImage(byteArray_or_file_or_filename);//loads the image// get the available metadata properties from the image, currently only jpg is supportedvar propertiesArray =image.getMetaDataProperties();for(var i=0;i<propertiesArray.length;i++){var property = propertiesArray[i]application.output("property: "+ property);application.output("description (string): "+image.getMetaDataDescription(property))application.output("real object: "+image.getMetaDataObject(property))}// Thumbnail data is stored under property 'Exif - Thumbnail Data', extract that and set it in a dataproviderthumbnail =image.getMetaDataObject("Exif - Thumbnail Data"); // gets thumbnail data from the image
getMetaDataProperties()
Gets the available metadata properties from the image. Currently only jpg is supported.
var image =plugins.images.getImage(byteArray_or_file_or_filename);//loads the image// get the available metadata properties from the image, currently only jpg is supportedvar propertiesArray =image.getMetaDataProperties();for(var i=0;i<propertiesArray.length;i++){var property = propertiesArray[i]application.output("property: "+ property);application.output("description (string): "+image.getMetaDataDescription(property))application.output("real object: "+image.getMetaDataObject(property))}// Thumbnail data is stored under property 'Exif - Thumbnail Data', extract that and set it in a dataproviderthumbnail =image.getMetaDataObject("Exif - Thumbnail Data"); // gets thumbnail data from the image
var image =plugins.images.getImage(byteArray_or_file_or_filename);//loads the imageimage =image.resize(200,200);//resizes it to 200,200var bytes =image.getData();//gets the image bytesplugins.file.writeFile('filename',bytes);//saves the image bytes
rotate(degrees)
Rotates the image the number of degrees that is given. A new JSImage is returned.
var image =plugins.images.getImage(byteArray_or_file_or_filename);//loads the imageimage =image.rotate(90);//rotate the image 90 degreesvar bytes =image.getData();//gets the image bytesplugins.file.writeFile('filename',bytes);//saves the image bytes