Class Cropper
- java.lang.Object
-
- org.zkoss.zk.ui.AbstractComponent
-
- org.zkoss.zk.ui.HtmlBasedComponent
-
- org.zkoss.zkmax.zul.Cropper
-
- All Implemented Interfaces:
java.io.Serializable,java.lang.Cloneable,org.zkoss.zk.ui.Component,org.zkoss.zk.ui.ext.Scope,org.zkoss.zk.ui.sys.ComponentCtrl
public class Cropper extends org.zkoss.zk.ui.HtmlBasedComponentAn image cropper that can select a range to get the cropped result.- Since:
- 8.6.0
- Author:
- wenninghsu
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected classCropper.ExtraCtrl
-
Constructor Summary
Constructors Constructor Description Cropper()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidcancel()To cancel the selected area.voidcrop()Request cropper JavaScript widget to crop the selected area and send it back to the server.doublegetAspectRatio()Returns the aspect ratio of the cropped area.org.zkoss.image.ImagegetContent()Returns the content set bysetContent(org.zkoss.image.Image).java.lang.StringgetCroppedFormat()Get the cropped image format, e.g., image/png, image/jpeg.org.zkoss.image.AImagegetCroppedImage()Returns the cropped image as anAImage.java.lang.StringgetCrossOrigin()Returns the crossOrigin of the img of this cropper, could be "anonymous", "use-credentials" or null.java.lang.ObjectgetExtraCtrl()intgetH()Returns the height of the crop area in pixel.intgetMaxHeight()Returns the maximum height of the selected crop area.intgetMaxWidth()Returns the maximum width of the selected crop area.intgetMinHeight()Returns the minimum height of the selected crop area.intgetMinWidth()Returns the minimum width of the selected crop area.java.lang.StringgetSrc()Returns the source URI of the image.intgetW()Returns the width of the crop area in pixel.intgetX()Returns the left position of the crop area relates to the left edge of the child image in pixel.intgetY()Returns the top position of the crop area relates to the top edge of the child image in pixel.protected booleanisChildable()Not childable.booleanisInstant()Returns whether to send back onChange event immediately while the user is resizing the selected area.booleanisToolbarVisible()Returns whether the toolbar is visible.voidmove(int deltaX, int deltaY)Moves the crop area according to the delta x and y.voidmoveTo(int x, int y)Moves the crop area to the specified left and top related position.protected voidrenderProperties(org.zkoss.zk.ui.sys.ContentRenderer renderer)voidresize(int deltaW, int deltaH)Resize the crop area according to the delta width and height in pixel.voidresizeTo(int width, int height)Resize the crop area to the specified width and height in pixel.voidservice(org.zkoss.zk.au.AuRequest request, boolean everError)voidsetAspectRatio(double aspectRatio)Sets the aspect ratio of the selected area.voidsetContent(java.awt.image.RenderedImage image)Sets the content directly with the rendered image.voidsetContent(org.zkoss.image.Image image)Sets the content directly.voidsetCroppedFormat(java.lang.String croppedFormat)Set the cropped image format, e.g., image/png, image/jpeg.voidsetCrossOrigin(java.lang.String crossOrigin)Could be "anonymous" or "use-credentials", an invalid string and an empty string will be handled as the "anonymous".voidsetH(int h)Sets the height of the crop area in pixel.voidsetInstant(boolean instant)Sets whether to send back onChange event as soon as possible while the user is resizing the selected area.voidsetMaxHeight(int maxHeight)Sets the maximum height of the selected crop area.voidsetMaxWidth(int maxWidth)Sets the maximum width of the selected crop area.voidsetMinHeight(int minHeight)Sets the minimum height of the selected crop area.voidsetMinWidth(int minWidth)Sets the minimum width of the selected crop area.voidsetSrc(java.lang.String src)Sets the source URI of the image.voidsetToolbarVisible(boolean toolbarVisible)Sets the visibility of the cropper toolbar.voidsetW(int w)Sets the width of the crop area in pixel.voidsetX(int x)Sets the left position of the crop area relates to the left edge of the child image in pixel.voidsetY(int y)Sets the top position of the crop area relates to the top edge of the child image in pixel.-
Methods inherited from class org.zkoss.zk.ui.HtmlBasedComponent
addSclass, clone, evalCSSFlex, focus, getAction, getClientAction, getDraggable, getDroppable, getHeight, getHflex, getLeft, getPropertyAccess, getRenderdefer, getSclass, getStyle, getTabindex, getTabindexInteger, getTooltiptext, getTop, getVflex, getWidth, getZclass, getZindex, getZIndex, removeSclass, removeSclass, setAction, setClass, setClientAction, setDraggable, setDroppable, setFocus, setHeight, setHeight0, setHeightDirectly, setHflex, setHflex0, setHflexDirectly, setLeft, setLeftDirectly, setRenderdefer, setSclass, setStyle, setTabindex, setTabindex, setTooltiptext, setTop, setTopDirectly, setVflex, setVflex0, setVflexDirectly, setWidth, setWidth0, setWidthDirectly, setZclass, setZindex, setZIndex, setZIndexDirectly
-
Methods inherited from class org.zkoss.zk.ui.AbstractComponent
addAnnotation, addCallback, addClientEvent, addEventHandler, addEventListener, addEventListener, addForward, addForward, addForward, addForward, addMoved, addRedrawCallback, addScopeListener, addShadowRoot, addShadowRootBefore, addSharedEventHandlerMap, appendChild, applyProperties, beforeChildAdded, beforeChildRemoved, beforeParentChanged, destroyIndexCacheMap, detach, didActivate, didActivate, didDeserialize, didDeserialize, disableBindingAnnotation, disableClientUpdate, disableHostChanged, enableBindingAnnotation, enableHostChanged, getAnnotatedProperties, getAnnotatedPropertiesBy, getAnnotation, getAnnotations, getAnnotations, getAttribute, getAttribute, getAttribute, getAttributeOrFellow, getAttributes, getAttributes, getAuService, getAutag, getCallback, getChildren, getClientAttribute, getClientDataAttribute, getClientEvents, getDefaultMold, getDefinition, getDesktop, getEventHandler, getEventHandlerNames, getEventListenerMap, getEventListeners, getFellow, getFellow, getFellowIfAny, getFellowIfAny, getFellows, getFirstChild, getForwards, getId, getIndexCacheMap, getLastChild, getMold, getNextSibling, getPage, getParent, getPreviousSibling, getRedrawCallback, getRoot, getShadowFellowIfAny, getShadowRoots, getShadowVariable, getShadowVariable, getShadowVariable0, getSpaceOwner, getSpecialRendererOutput, getStubonly, getSubBindingAnnotationCount, getTemplate, getTemplateNames, getUuid, getWidgetAttributeNames, getWidgetClass, getWidgetListener, getWidgetListenerNames, getWidgetOverride, getWidgetOverrideNames, hasAttribute, hasAttribute, hasAttribute, hasAttributeOrFellow, hasBindingAnnotation, hasFellow, hasFellow, hasSubBindingAnnotation, initIndexCacheMap, insertBefore, invalidate, isDisabledHostChanged, isInitialized, isInvalidated, isListenerAvailable, isVisible, onChildAdded, onChildRemoved, onPageAttached, onPageDetached, onParentChanged, onWrongValue, query, queryAll, redraw, redrawChildren, removeAttribute, removeAttribute, removeAttribute, removeCallback, removeChild, removeEventListener, removeForward, removeForward, removeRedrawCallback, removeScopeListener, removeShadowRoot, render, render, render, renderPropertiesOnly, replace, response, response, response, service, sessionDidActivate, sessionWillPassivate, setAttribute, setAttribute, setAttribute, setAuService, setAutag, setClientAttribute, setClientDataAttribute, setDefinition, setDefinition, setId, setMold, setPage, setPageBefore, setParent, setStubonly, setStubonly, setSubBindingAnnotationCount, setTemplate, setVisible, setVisibleDirectly, setWidgetClass, setWidgetListener, setWidgetOverride, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdateWidgetListener, smartUpdateWidgetOverride, toString, updateByClient, updateSubBindingAnnotationCount, willPassivate, willPassivate, willSerialize, willSerialize
-
-
-
-
Method Detail
-
getAspectRatio
public double getAspectRatio()
Returns the aspect ratio of the cropped area.Default: 0 Means the ratio has no restrict
- Returns:
- double the ratio of the cropped area
-
setAspectRatio
public void setAspectRatio(double aspectRatio)
Sets the aspect ratio of the selected area.Default: 0. Means the ratio has no restrict
- Parameters:
aspectRatio- the ratio of the selected area
-
getMinWidth
public int getMinWidth()
Returns the minimum width of the selected crop area.- Returns:
- int as the minimum width
-
setMinWidth
public void setMinWidth(int minWidth)
Sets the minimum width of the selected crop area.- Parameters:
minWidth- the minimum width of the selected crop area
-
getMinHeight
public int getMinHeight()
Returns the minimum height of the selected crop area.- Returns:
- int as the minimum height of the selected crop area
-
setMinHeight
public void setMinHeight(int minHeight)
Sets the minimum height of the selected crop area.- Parameters:
minHeight- the minimum height of the selected crop area
-
getMaxWidth
public int getMaxWidth()
Returns the maximum width of the selected crop area.- Returns:
- int as the maximum width of the selected crop area
-
setMaxWidth
public void setMaxWidth(int maxWidth)
Sets the maximum width of the selected crop area.- Parameters:
maxWidth- the maximum width of the selected crop area
-
getMaxHeight
public int getMaxHeight()
Returns the maximum height of the selected crop area.- Returns:
- int as the maximum height of the selected crop area
-
setMaxHeight
public void setMaxHeight(int maxHeight)
Sets the maximum height of the selected crop area.- Parameters:
maxHeight- the maximum height of the selected crop area
-
getX
public int getX()
Returns the left position of the crop area relates to the left edge of the child image in pixel.- Returns:
- int as the left position.
-
setX
public void setX(int x)
Sets the left position of the crop area relates to the left edge of the child image in pixel.- Parameters:
x- as the left related pixel
-
getY
public int getY()
Returns the top position of the crop area relates to the top edge of the child image in pixel.- Returns:
- int as the top position.
-
setY
public void setY(int y)
Sets the top position of the crop area relates to the top edge of the child image in pixel.- Parameters:
y- as the top related pixel
-
getW
public int getW()
Returns the width of the crop area in pixel.- Returns:
- int as the width of the crop area.
-
setW
public void setW(int w)
Sets the width of the crop area in pixel.- Parameters:
w- as the width of the crop area
-
getH
public int getH()
Returns the height of the crop area in pixel.- Returns:
- int as the height of the crop area
-
setH
public void setH(int h)
Sets the height of the crop area in pixel.- Parameters:
h- as the height of the crop area
-
getCroppedImage
public org.zkoss.image.AImage getCroppedImage()
Returns the cropped image as anAImage.- Returns:
- the
AImagecropped image
-
isToolbarVisible
public boolean isToolbarVisible()
Returns whether the toolbar is visible.- Returns:
- true if the toolbar is visible
-
setToolbarVisible
public void setToolbarVisible(boolean toolbarVisible)
Sets the visibility of the cropper toolbar.- Parameters:
toolbarVisible- true or false to set the visibility of toolbar
-
getCroppedFormat
public java.lang.String getCroppedFormat()
Get the cropped image format, e.g., image/png, image/jpeg. If the requested type is invalid or unspecified, it will use image/png.Default:
"image/png".- Returns:
- cropped image format
-
setCroppedFormat
public void setCroppedFormat(java.lang.String croppedFormat)
Set the cropped image format, e.g., image/png, image/jpeg. If the requested type is invalid or unspecified, it will use image/png.- Parameters:
croppedFormat- cropped image format
-
getSrc
public java.lang.String getSrc()
Returns the source URI of the image.Default: null.
-
setSrc
public void setSrc(java.lang.String src)
Sets the source URI of the image.Calling this method implies setContent(null). In other words, the last invocation of
setSrc(java.lang.String)overrides the previoussetContent(org.zkoss.image.Image), if any.- Parameters:
src- the URI of the image source- See Also:
setContent(org.zkoss.image.Image),setContent(RenderedImage)
-
setContent
public void setContent(org.zkoss.image.Image image)
Sets the content directly.Default: null.
Calling this method implies setSrc(null). In other words, the last invocation of
setContent(org.zkoss.image.Image)overrides the previoussetSrc(java.lang.String), if any.- Parameters:
image- the image to display.- See Also:
setSrc(java.lang.String)
-
setContent
public void setContent(java.awt.image.RenderedImage image)
Sets the content directly with the rendered image. It actually encodes the rendered image to an PNG image (Image) withImages.encode(java.lang.String, java.awt.image.RenderedImage, float, boolean), and then invokesetContent(org.zkoss.image.Image).
-
getContent
public org.zkoss.image.Image getContent()
Returns the content set bysetContent(org.zkoss.image.Image).Note: it won't fetch what is set thru by
setSrc(java.lang.String). It simply returns what is passed tosetContent(org.zkoss.image.Image).- Since:
- 10.0.0
-
getCrossOrigin
public java.lang.String getCrossOrigin()
Returns the crossOrigin of the img of this cropper, could be "anonymous", "use-credentials" or null.Default: null.
- Returns:
- the crossOrigin of the img of this cropper.
-
setCrossOrigin
public void setCrossOrigin(java.lang.String crossOrigin)
Could be "anonymous" or "use-credentials", an invalid string and an empty string will be handled as the "anonymous". Notice that this attribute refers to the corresponding attribute of the HTML5 specification. Hence, it would still be rendered to client-side as a DOM attribute even if the browser doesn’t support it.
- Parameters:
crossOrigin- the crossOrigin of the img of this cropper.
-
isInstant
public boolean isInstant()
Returns whether to send back onChange event immediately while the user is resizing the selected area.- Returns:
- boolean
-
setInstant
public void setInstant(boolean instant)
Sets whether to send back onChange event as soon as possible while the user is resizing the selected area. Default: false.- Parameters:
instant-
-
resize
public void resize(int deltaW, int deltaH)Resize the crop area according to the delta width and height in pixel. Positive means larger, negative means smaller.- Parameters:
deltaW- the delta width to resizedeltaH- the delta height to resize
-
resizeTo
public void resizeTo(int width, int height)Resize the crop area to the specified width and height in pixel.- Parameters:
width- the width of the crop areaheight- the height of the crop area
-
move
public void move(int deltaX, int deltaY)Moves the crop area according to the delta x and y. Positive for x means move right, negative means move left. Positive for y means move down, negative means move top.- Parameters:
deltaX- the x difference to movedeltaY- the y difference to move
-
moveTo
public void moveTo(int x, int y)Moves the crop area to the specified left and top related position.- Parameters:
x- the x position to move toy- the y position to move to
-
crop
public void crop()
Request cropper JavaScript widget to crop the selected area and send it back to the server. You can't callgetCroppedImage()immediately in the same event listener. You need to complete the listener calling, let the response back to the browser to crop the image. It will fire an onCrop event to invoke onCrop event listener, then you can get cropped image in the onCrop listener.
-
cancel
public void cancel()
To cancel the selected area.
-
isChildable
protected boolean isChildable()
Not childable.- Overrides:
isChildablein classorg.zkoss.zk.ui.AbstractComponent
-
renderProperties
protected void renderProperties(org.zkoss.zk.ui.sys.ContentRenderer renderer) throws java.io.IOException- Overrides:
renderPropertiesin classorg.zkoss.zk.ui.HtmlBasedComponent- Throws:
java.io.IOException
-
service
public void service(org.zkoss.zk.au.AuRequest request, boolean everError)- Specified by:
servicein interfaceorg.zkoss.zk.ui.sys.ComponentCtrl- Overrides:
servicein classorg.zkoss.zk.ui.HtmlBasedComponent
-
getExtraCtrl
public java.lang.Object getExtraCtrl()
- Specified by:
getExtraCtrlin interfaceorg.zkoss.zk.ui.sys.ComponentCtrl- Overrides:
getExtraCtrlin classorg.zkoss.zk.ui.HtmlBasedComponent
-
-