Class DynamicImage
- All Implemented Interfaces:
ActionSource
java.lang.Object, int, int, int, int)
method.-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionApplies the given alpha mask onto this image and returns the resulting image see the createMask method for indication on how to convert an image into an alpha mask.protected voidCallback invoked internally by Codename One to draw the image/frame onto the display.protected voidCallback invoked internally by Codename One to draw the image/frame onto the display.protected abstract voiddrawImageImpl(Graphics g, Object nativeGraphics, int x, int y, int w, int h) This method should be overridden by subclasses to perform the actual drawing of the image on a graphics context.fill(int width, int height) Resizes/crops the image so that its center fills the given dimensions.intReturns the height of the imagegetStyle()Gets the style for this image.intgetWidth()Returns the width of the imagebooleanNew label optimizations don't invoke drawImage and instead just pass the native image directly to the underlying renderer.voidscale(int width, int height) Scale the image to the given width and height, this is a fast algorithm that preserves translucent informationstatic voidsetIcon(Label lbl, DynamicImage img) Sets the given image as the icon for the specified label.voidSets the style to be used for drawing the image.Methods inherited from class Image
addActionListener, animate, applyMask, applyMaskAutoScale, asyncLock, createImage, createImage, createImage, createImage, createImage, createImage, createImage, createIndexed, createMask, createSVG, dispose, exifRotation, exifRotation, exifRotation, fireChangedEvent, flipHorizontally, flipVertically, getExifOrientationTag, getExifOrientationTag, getGraphics, getImage, getImageName, getRGB, getRGB, getRGBCached, getSVGDocument, isAlphaMutableImageSupported, isAnimation, isJPEG, isLocked, isOpaque, isPNG, isSVG, isSVGSupported, lock, mirror, modifyAlpha, modifyAlpha, modifyAlphaWithTranslucency, removeActionListener, rotate, rotate180Degrees, rotate270Degrees, rotate90Degrees, scaled, scaledHeight, scaledLargerRatio, scaledSmallerRatio, scaledWidth, setImageName, subImage, toRGB, unlockModifier and TypeMethodDescriptionvoidAdds ActionListener to receive action events form this source.booleananimate()Advances this image's animation state, if it is animated.Applies the given alpha mask onto this image and returns the resulting image see the createMask method for indication on how to convert an image into an alpha mask.applyMaskAutoScale(Object mask) Applies the given alpha mask onto this image and returns the resulting image see the createMask method for indication on how to convert an image into an alpha mask.voidAsync lock is the equivalent of a lock operation, however it uses the given image as the hard cache and performs the actual image loading asynchronously.static ImagecreateImage(byte[] bytes, int offset, int len) creates an image from a given byte array datastatic ImagecreateImage(int[] rgb, int width, int height) creates an image from an RGB imagestatic ImagecreateImage(int width, int height) Creates a white opaque mutable image that may be manipulated using#getGraphics().static ImagecreateImage(int width, int height, int fillColor) Creates a mutable image that may be manipulated using#getGraphics().static ImagecreateImage(InputStream stream) creates an image from an InputStreamstatic ImagecreateImage(Object nativeImage) creates an image from the given native image (e.g. MIDP image object)static ImagecreateImage(String path) Creates an image from a path.static ImagecreateIndexed(int width, int height, int[] palette, byte[] data) Creates an indexed image with byte data this method may return a native indexed image rather than an instance of the IndexedImage classCreates a mask from the given image, a mask can be used to apply an arbitrary alpha channel to any image.static ImageCreates an SVG Image from the given byte array data and the base URL, this method will throw an exception if SVG is unsupported.voiddispose()DO NOT CALL THIS METHOD UNLESS YOU KNOW WHAT YOU ARE DOING, IT WILL CAUSE PLATFORM SPECIFC CRASHES OTHERWISE! Images dispose automatically for most cases except for very rare special cases.static ImageexifRotation(String capturedImage) The main use case of this method is the automatic rotation and flipping of an image returned from the camera or from the gallery, preserving the original format (jpeg or png); it detects the Exif Orientation Tag, if available (all the possible Exif Orientation Tag values are supported); transparency is not preserved.static ImageexifRotation(String capturedImage, String rotatedImage) The main use case of this method is the automatic rotation and flipping of an image returned from the camera or from the gallery, preserving the original format (jpeg or png); it detects the Exif Orientation Tag, if available (all the possible Exif Orientation Tag values are supported); transparency is not preserved.static ImageexifRotation(String capturedImage, String rotatedImage, int maxSize) The main use case of this method is the automatic rotation and flipping of an image returned from the camera or from the gallery, preserving the original format (jpeg or png); it detects the Exif Orientation Tag, if available (all the possible Exif Orientation Tag values are supported); transparency is not preserved.voidflipHorizontally(boolean maintainOpacity) Flips this image on the horizontal axisflipVertically(boolean maintainOpacity) Flips this image on the vertical axisstatic intGets the EXIF orientation tag of an image, if it's available.static intgetExifOrientationTag(String path) Gets the EXIF orientation tag of an image if it's available.If this is a mutable image a graphics object allowing us to draw on it is returned.getImage()Returns the platform specific image implementation, warning the implementation class can change between revisions of Codename One and platforms.The name of the image is set for some images mostly to ease the debugging of Codename One applicationint[]getRGB()Returns the content of this image as a newly created ARGB array.voidgetRGB(int[] rgbData) Returns the content of this image in the supplied ARGB array.int[]Returns the content of this image as a newly created ARGB array or a cached instance if possible.Returns a platform specific DOM object that can be manipulated by the user to change the SVG Imagestatic booleanReturns true if mutable images support alpha transparencybooleanReturns true if this is an animated imagestatic booleanisJPEG(InputStream inputStream) Very fast method to detect if the given inputStream is a JPEG image (according to its guessed mime type)booleanisLocked()Returns true if the image is lockedbooleanisOpaque()Indicates whether this image is opaque or notstatic booleanisPNG(InputStream inputStream) Very fast method to detect if the given inputStream is a PNG image (according to its guessed mime type)booleanisSVG()Indicates if this image represents an SVG file or a bitmap filestatic booleanIndicates whether the underlying platform supports creating an SVG Imagevoidlock()This callback indicates that a component pointing at this image is initialized, this allows an image to make performance sensitive considerations e.g.mirror()Creates a mirror image for the given image which is useful for some RTL scenarios.modifyAlpha(byte alpha) Creates a new image instance with the alpha channel of opaque/translucent pixels within the image using the new alpha value.modifyAlpha(byte alpha, int removeColor) Creates a new image instance with the alpha channel of opaque/translucent pixels within the image using the new alpha value.modifyAlphaWithTranslucency(byte alpha) Creates a new image instance with the alpha channel of opaque pixels within the image using the new alpha value.voidRemoves ActionListener so that it will no longer receive events from this source.rotate(int degrees) Returns an instance of this image rotated by the given number of degrees.rotate180Degrees(boolean maintainOpacity) Rotates the image by 180 degreesrotate270Degrees(boolean maintainOpacity) Rotates the image by 270 degrees while changing the ratio of the picturerotate90Degrees(boolean maintainOpacity) Rotates this image by 90 degrees while changing the ratio of the picturescaled(int width, int height) Returns a scaled version of this image image using the given width and height, this is a fast algorithm that preserves translucent information.scaledHeight(int height) Scales the image to the given height while updating the width based on the aspect ratio of the heightscaledLargerRatio(int width, int height) Scales the image while maintaining the aspect ratio to the larger size imagescaledSmallerRatio(int width, int height) Scales the image while maintaining the aspect ratio to the smaller size imagescaledWidth(int width) Scales the image to the given width while updating the height based on the aspect ratio of the widthvoidsetImageName(String imageName) The name of the image is set for some images mostly to ease the debugging of Codename One applicationsubImage(int x, int y, int width, int height, boolean processAlpha) Extracts a subimage from the given image allowing us to breakdown a single large image into multiple smaller images in RAM, this actually creates a standalone version of the image for use.voidExtracts data from this image into the given RGBImagevoidunlock()This callback indicates that a component pointing at this image is now deinitilized This method may be invoked multiple times.Methods inherited from class Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitModifier and TypeMethodDescriptionprotected Objectclone()booleanIndicates whether some other object is "equal to" this one.final ClassgetClass()Returns the runtime class of an object.inthashCode()Returns a hash code value for the object.final voidnotify()Wakes up a single thread that is waiting on this object's monitor.final voidWakes up all threads that are waiting on this object's monitor.toString()Returns a string representation of the object.final voidwait()Causes current thread to wait until another thread invokes the method or the method for this object.final voidwait(long timeout) Causes current thread to wait until either another thread invokes the method or the method for this object, or a specified amount of time has elapsed.final voidwait(long timeout, int nanos) Causes current thread to wait until another thread invokes the method or the method for this object, or some other thread interrupts the current thread, or a certain amount of real time has elapsed.
-
Constructor Details
-
DynamicImage
public DynamicImage()Constructor. Creates image of default size: 250x250 pixels. -
DynamicImage
public DynamicImage(int w, int h) Constructor with width and height.
Parameters
-
w: The width of the image. -
h: The height of the image.
-
-
-
Method Details
-
setIcon
Sets the given image as the icon for the specified label. This will link the label's style with the image just before each call thejava.lang.Object, int, int, int, int)so that the image can correctly adapt to the label's style. -
getStyle
Gets the style for this image. -
setStyle
Sets the style to be used for drawing the image. The
java.lang.Object, int, int, int, int)can use any aspect of this style to customize the drawing.Parameters
s: The style.
-
getWidth
-
getHeight
-
scale
-
fill
Resizes/crops the image so that its center fills the given dimensions. This is similar to
com.codename1.ui.plaf.Style#BACKGROUND_IMAGE_SCALED_FILLParameters
-
width: the width to fill -
height: the height to fill
Returns
a new image (or the same image if dimensions happen to match) filling the width/height
-
-
applyMask
Applies the given alpha mask onto this image and returns the resulting image see the createMask method for indication on how to convert an image into an alpha mask.
Parameters
mask: mask object created by the createMask() method.
Returns
image masked based on the given object
Throws
IllegalArgumentException: if the image size doesn't match the mask size
-
requiresDrawImage
public boolean requiresDrawImage()Description copied from class:ImageNew label optimizations don't invoke drawImage and instead just pass the native image directly to the underlying renderer. This is problematic for some image types specifically timeline & FontImage and this method allows these classes to indicate that they need that legacy behavior of calling drawImage.
Returns
true if a drawImage call is a required
- Overrides:
requiresDrawImagein classImage
-
drawImageImpl
protected abstract void drawImageImpl(Graphics g, Object nativeGraphics, int x, int y, int w, int h) This method should be overridden by subclasses to perform the actual drawing of the image on a graphics context.
Parameters
-
g: The graphics context -
nativeGraphics: THe native graphics context. -
x: x-coordinate of the bounds to draw. -
y: y-coordinate of the bounds to draw. -
w: width of the bounds -
h: height of the bounds
-
-
drawImage
Callback invoked internally by Codename One to draw the image/frame onto the display. Image subclasses can override this method to perform drawing of custom image types.
Parameters
-
g: the graphics object -
nativeGraphics: the underlying native graphics which might be essential for some image types -
x: the x coordinate -
y: the y coordinate
-
-
drawImage
Callback invoked internally by Codename One to draw the image/frame onto the display. Image subclasses can override this method to perform drawing of custom image types.
Parameters
-
g: the graphics object -
nativeGraphics: the underlying native graphics which might be essential for some image types -
x: the x coordinate -
y: the y coordinate -
w: the width to occupy -
h: the height to occupy
-
-