1 Image
Class Ax.image.Image
This class contains convenience methods for locating ImageReaders and ImageWriters,
and performing simple encoding and decoding.
SEE: https://github.com/rkalla/imgscalr/blob/master/src/main/java/org/imgscalr/Scalr.java
Constructor Summary
Method Summary
Modifier and Type
Method
Description
__resizeImageWithHint(BufferedImage originalImage, int type)
byte[]
getBytes()
Returns the image as a byte array.
byte[]
getBytes(Ax.text.String formatName)
Returns the image as a byte array, with the specified format.
int
Returns the dominant color of the given image.
Ax.text.String
Returns the image format.
int
int
getSize()
Returns the image size starage need in bytes
int
getWidth()
boolean
isJPEG()
Check if image is JPEG
boolean
Checks if the image's color model includes an alpha channel
meaning is transparent.
Ax.image.Image
resize(int width)
Resizes the image maintaining its height/width ratio so the longest dimension has the specified size.
Ax.image.Image
resize(int width,int height)
Resizes the image to the specified height and width.
Ax.image.Image
rotate(Ax.text.String rotation)
Rotates the image using one of the following operators:
CW_90, CW_180, CW_270, FLIP_HORZ, FLIP_VERT
Ax.image.Image
scale(double scale)
Scales the image using a percent factor.
scale(BufferedImage before, double scale)
Scales an image using the Bilinear method.
Ax.image.Image
setFormat(Ax.text.String format)
Set the image format we want to write the image.
Ax.image.Image
setName(Ax.text.String name)
Sets the image name to be used in BLOB conversion.
toBlob()
Converts the image to a BLOB object.
Ax.image.Image
Reduces the size of the image to an optimum quality
Constructor Detail
Ax.image.Image.JSImage
-
Ax.image.Image.JSImage( object object )
- Info:
-
Creates a new image, given a source. - Parameters:
- object - image source
Example
Copy
var src = Ax.util.Base64.decode("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"); var img = new Ax.image.Image(src); //or var image = new Ax.image.Image("file:photo1.jpg");
Method Detail
Ax.image.Image.__resizeImageWithHint
-
object Ax.image.Image.__resizeImageWithHint( object originalImage, smallint type )
- Parameters:
- originalImage -
- type -
- Returns:
- object
Ax.image.Image.getBytes
-
byte[] Ax.image.Image.getBytes()
- Info:
-
Returns the image as a byte array. - Returns:
- byte[]
Ax.image.Image.getBytes
-
byte[] Ax.image.Image.getBytes( string formatName )
- Info:
-
Returns the image as a byte array, with the specified format. - Parameters:
- formatName - the image format
- Returns:
- byte[]
Ax.image.Image.getDominantColor
-
smallint Ax.image.Image.getDominantColor()
- Info:
-
Returns the dominant color of the given image. - Returns:
- smallint
Ax.image.Image.getFormat
-
string Ax.image.Image.getFormat()
- Info:
-
Returns the image format. - Returns:
- string
Ax.image.Image.getHeight
-
smallint Ax.image.Image.getHeight()
- Returns:
- smallint
Ax.image.Image.getSize
-
smallint Ax.image.Image.getSize()
- Info:
-
Returns the image size starage need in bytes - Returns:
- smallint
Ax.image.Image.getWidth
-
smallint Ax.image.Image.getWidth()
- Returns:
- smallint
Ax.image.Image.isJPEG
-
boolean Ax.image.Image.isJPEG()
- Info:
-
Check if image is JPEG - Returns:
- boolean
Example
Copy
if (image.isJPEG()) { image.setFormat("jpeg"); // This will be jpeg image.getBytes(); }
Ax.image.Image.isTransparent
-
boolean Ax.image.Image.isTransparent()
- Info:
-
Checks if the image's color model includes an alpha channel meaning is transparent. - Returns:
- boolean
Ax.image.Image.resize
-
object Ax.image.Image.resize( smallint width )
- Info:
-
Resizes the image maintaining its height/width ratio so the longest dimension has the specified size. - Parameters:
- width - size of the longest dimension (width, height), in pixels
- Returns:
- object
Ax.image.Image.resize
-
object Ax.image.Image.resize( smallint width, smallint height )
- Info:
-
Resizes the image to the specified height and width. - Parameters:
- width - width of the image in pixels
- height - height of the image in pixels
- Returns:
- object
Ax.image.Image.rotate
-
object Ax.image.Image.rotate( string rotation )
- Info:
-
Rotates the image using one of the following operators: CW_90, CW_180, CW_270, FLIP_HORZ, FLIP_VERT - Parameters:
- rotation - rotation operator: CW_90, CW_180, CW_270, FLIP_HORZ.
- Returns:
- object
Ax.image.Image.scale
-
object Ax.image.Image.scale( double scale )
- Info:
-
Scales the image using a percent factor. - Parameters:
- scale - a percent factor to scale, like 2 or 0.5
- Returns:
- object
Ax.image.Image.scale
-
object Ax.image.Image.scale( object before, double scale )
- Info:
-
Scales an image using the Bilinear method. SEE: https://stackoverflow.com/questions/4216123/how-to-scale-a-bufferedimage AffineTransformOp.filter(), used in scaleBilinear(), is faster than the standard drawing method of Graphics2D.drawImage() in scale2(). Also BiCubic interpolation is the slowest, but gives the best results when expanding the image. (For performance, it should only be compared with scaleBilinear() and scaleNearest().) Bilinear seems to be better for shrinking the image, although it's a tough call. And NearestNeighbor is the fastest, with the worst results. Bilinear seems to be the best compromise between speed and quality. The Image.getScaledInstance(), called in the questionable() method, performed very poorly, and returned the same low quality as NearestNeighbor. Must be public cause is used in ESCPOS - Parameters:
- before - original image
- scale - a percent factor to scale, like 2 or 0.5
- Returns:
- object
Ax.image.Image.setFormat
-
object Ax.image.Image.setFormat( string format )
- Info:
-
Set the image format we want to write the image. - Parameters:
- format -
- Returns:
- object
Ax.image.Image.setName
-
object Ax.image.Image.setName( string name )
- Info:
-
Sets the image name to be used in BLOB conversion. - Parameters:
- name - the image name to be used in BLOB conversion
- Returns:
- object
Ax.image.Image.toBlob
-
object Ax.image.Image.toBlob()
- Info:
-
Converts the image to a BLOB object. - Returns:
- object
Ax.image.Image.toOptimumQuality
-
object Ax.image.Image.toOptimumQuality()
- Info:
-
Reduces the size of the image to an optimum quality - Returns:
- object