Package com.day.cq.commons
Class ImageHelper
- java.lang.Object
 - 
- com.day.cq.commons.ImageHelper
 
 
- 
- Direct Known Subclasses:
 ImageHelper
public class ImageHelper extends java.lang.ObjectImageHelper... 
- 
- 
Constructor Summary
Constructors Constructor Description ImageHelper() 
- 
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static LayercreateLayer(Item item)Creates a layer of the given item.static LayercreateLayer(Node node, java.lang.String imageName, java.lang.String refName)Creates a layer either by the node addressed byimageNameor the referenced image addressed by therefNameproperty.static LayercreateLayer(Session session, java.lang.String path)Creates a layer of the given item addressed by the path.static LayercreateLayer(Resource resource)Creates a layer from the given resource.static java.awt.RectanglegetCropRect(java.lang.String rectCSV, java.lang.String path)d Parses a CSV string of the form "x1,y1,x2,y2" and returns the respective rectangle.static java.lang.StringgetExtensionFromType(java.lang.String type)Returns the extension from the given image type.static java.lang.StringgetTypeFromExtension(java.lang.String ext)Returns the image type for the given extension.static java.awt.ColorparseColor(java.lang.String s)Converts aStringto an integer and returns the specifiedColor.static java.awt.ColorparseColor(java.lang.String s, int alpha)Converts aStringto an integer and returns the specifiedColor.static intparseFontStyle(java.lang.String... styles)Parses the font style from the given string(s).static Layerresize(Layer layer, java.awt.Dimension d, java.awt.Dimension min, java.awt.Dimension max)Resizes the given layer according to the given dimensions.static NodesaveLayer(Layer layer, java.lang.String type, double quality, Node parent, java.lang.String filename, boolean replace)Saves the layer as nt:file below the given node. 
 - 
 
- 
- 
Method Detail
- 
getCropRect
public static java.awt.Rectangle getCropRect(java.lang.String rectCSV, java.lang.String path)d Parses a CSV string of the form "x1,y1,x2,y2" and returns the respective rectangle. if the string could not be parsed,nullis returned. The method can deal with an aspect ratio that is appended by "/" (e.g. "x1,y1,x2,y2/ratioX,ratioY".- Parameters:
 rectCSV- the rectangle coordinatespath- optional path for debugging- Returns:
 - a rectangle or 
null 
 
- 
createLayer
public static Layer createLayer(Node node, java.lang.String imageName, java.lang.String refName) throws RepositoryException, java.io.IOException
Creates a layer either by the node addressed byimageNameor the referenced image addressed by therefNameproperty.- Parameters:
 node- the current nodeimageName- the name of the image noderefName- the name of the reference property- Returns:
 - a layer or 
null - Throws:
 RepositoryException- if a repository error occursjava.io.IOException- if a I/O error occurs
 
- 
createLayer
public static Layer createLayer(Session session, java.lang.String path) throws RepositoryException, java.io.IOException
Creates a layer of the given item addressed by the path. the item can be a binary property, a nt:file node or a nt:resource node.- Parameters:
 session- to use for retrieving the itempath- to the item- Returns:
 - a layer or 
null - Throws:
 RepositoryException- if a repository error occursjava.io.IOException- if a I/O error occurs
 
- 
createLayer
public static Layer createLayer(Resource resource)
Creates a layer from the given resource. If the resource is not adaptable toInputStreamnullis returned.- Parameters:
 resource- resource- Returns:
 - layer or 
null 
 
- 
createLayer
public static Layer createLayer(Item item) throws RepositoryException, java.io.IOException
Creates a layer of the given item. the item can be a binary property, a nt:file node or a nt:resource node.- Parameters:
 item- the item- Returns:
 - a layer or 
null - Throws:
 RepositoryException- if a repository error occursjava.io.IOException- if a I/O error occurs
 
- 
parseFontStyle
public static int parseFontStyle(java.lang.String... styles)
Parses the font style from the given string(s). the styles can be combined by by separating them by spaces, comas or pipes, or specifying them multiple.style string return bold AbstractFont.BOLDitalic AbstractFont.ITALICunderline AbstractFont.UNDERLINEstrikeout AbstractFont.STRIKEOUTall other AbstractFont.PLAIN- Parameters:
 styles- the styles- Returns:
 - style constant
 
 
- 
resize
public static Layer resize(Layer layer, java.awt.Dimension d, java.awt.Dimension min, java.awt.Dimension max)
Resizes the given layer according to the given dimensions. If both width and height are defined a non-proportional resizing is done. if one of the dimensions is missing or 0, a proportional resizing performed. the non-empty dimensions are trimmed to respect the minimal and maximal dimension constraints. for proportional resizing the constraints apply to the recalculated dimensions. when no dimensions are specified, the layer is resized to fit into the constraint dimensions accordingly. if the constraints cannot be applied to the dimensions, eg if no values can be found that match the constraints, the layer is left untouched. In any case, if no resizing is performed,nullis returned. Examples:| lW | lH | dW | dH | minW | maxW | minH | maxH | w | h | comment | | | | 400 | 200 | 0 | 0 | 0 | 0 | 400 | 200 | no resizing | | | | 400 | 200 | 0 | 200 | 0 | 0 | 200 | 100 | 200 max width applies | | 120 | 80 | 0 | 0 | 100 | 400 | 50 | 100 | 120 | 80 | within bounds | | 120 | 80 | 0 | 0 | 0 | 100 | 50 | 100 | 100 | 60 | 100 max width applies | | 400 | 100 | 300 | 0 | 0 | 0 | 0 | 0 | 300 | 75 | resize proportional | | 400 | 100 | 300 | 0 | 0 | 0 | 0 | 50 | 200 | 50 | max height applies |
- Parameters:
 layer- layer to resize.d- dimensionmin- minimal dimension constraintsmax- maximal dimension constraints- Returns:
 - the resized layer or 
nullif untouched. 
 
- 
parseColor
public static java.awt.Color parseColor(java.lang.String s)
Converts aStringto an integer and returns the specifiedColor. This method handles string formats that are used to represent octal and hexadecimal numbers. If the string cannot be converted an transparent black is returned.- Parameters:
 s- aStringthat represents an RGBA color as a 32-bit integer- Returns:
 - the new 
Colorobject. - See Also:
 Integer.decode(java.lang.String)
 
- 
parseColor
public static java.awt.Color parseColor(java.lang.String s, int alpha)Converts aStringto an integer and returns the specifiedColor. This method handles string formats that are used to represent octal and hexadecimal numbers. If the string cannot be converted an transparent black is returned.- Parameters:
 s- aStringthat represents an RGB color as a 24-bit integeralpha- override the alpha setting- Returns:
 - the new 
Colorobject. - See Also:
 Integer.decode(java.lang.String)
 
- 
saveLayer
public static Node saveLayer(Layer layer, java.lang.String type, double quality, Node parent, java.lang.String filename, boolean replace) throws RepositoryException, java.io.IOException
Saves the layer as nt:file below the given node.- Parameters:
 layer- the layer to savetype- image type. eg "image/png"quality- image quality. eg 1.0parent- parent nodefilename- file namereplace- iftrueexisting node are replaced rather than updated.- Returns:
 - the newly created and saved file node
 - Throws:
 RepositoryException- if a repository error occurrsjava.io.IOException- if an I/O error occurrs
 
- 
getTypeFromExtension
public static java.lang.String getTypeFromExtension(java.lang.String ext)
Returns the image type for the given extension. currently there are only "png", "gif", "jpeg" and "jpg" supported.- Parameters:
 ext- the extension- Returns:
 - the image type or 
null. 
 
- 
getExtensionFromType
public static java.lang.String getExtensionFromType(java.lang.String type)
Returns the extension from the given image type. currently there are only "png", "gif", "jpeg" and "jpg" supported.- Parameters:
 type- the mime type- Returns:
 - the extension or 
null. 
 
 - 
 
 -