Class Effects

java.lang.Object
com.codename1.ui.util.Effects

public final class Effects extends Object
Static utility class useful for simple visual effects that don't quite fit anywhere else in the core API.
  • Method Summary

    Modifier and Type
    Method
    Description
    static Image
    dropshadow(Image source, int blurRadius, float opacity)
    Generates a shadow for the source image and returns either the shadow itself or the image merged with the shadow.
    static Image
    dropshadow(Image source, int blurRadius, float opacity, int xDistance, int yDistance)
    Generates a shadow for the source image and returns a new larger image containing the shadow
    static Image
    gaussianBlurImage(Image image, float radius)
    Create a blur image from the given image.
    static void
    growShrink(Component c, int duration)
    Grows or shrinks the given component to its new preferred size, this method essentially takes a component whose preferred size has changed and creates a "growing" effect that lasts for the duration.
    static boolean
    Returns true if gaussian blur is supported on this platform
    static Image
    Takes the given image and appends an effect of reflection below it that is similar to the way elements appear in water beneath them.
    static Image
    reflectionImage(Image source, float mirrorRatio, int alphaRatio)
    Takes the given image and appends an effect of reflection below it that is similar to the way elements appear in water beneath them.
    static Image
    reflectionImage(Image source, float mirrorRatio, int alphaRatio, int spacing)
    Takes the given image and appends an effect of reflection below it that is similar to the way elements appear in water beneath them.
    static Image
    squareShadow(int width, int height, int blurRadius, float opacity)
    Generates a square shadow and returns it
    static Image
    verticalPerspective(Image i, float topScaleRatio, float bottomScaleRatio, float verticalShrink)
    Skews an image in a faux perspective transform on the vertical axis, this is effectively a fast scale algorithm that both shrinks the image vertically and reduces the width

    Methods inherited from class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Method Details

    • reflectionImage

      public static Image reflectionImage(Image source)

      Takes the given image and appends an effect of reflection below it that is similar to the way elements appear in water beneath them. This method shouldn't be used when numAlpha is very low.

      Parameters
      • source: image to add the reflection effect to
      Returns

      new image with a reflection effect for the source image

    • reflectionImage

      public static Image reflectionImage(Image source, float mirrorRatio, int alphaRatio)

      Takes the given image and appends an effect of reflection below it that is similar to the way elements appear in water beneath them. This method shouldn't be used when numAlpha is very low.

      Parameters
      • source: image to add the reflection effect to

      • mirrorRatio: @param mirrorRatio generally less than 1, a mirror ration of 0.5f will create a mirror image half the height of the image, 0.75f will create a 3 quarter height mirror etc.

      • alphaRatio: @param alphaRatio starting point for the alpha value in the mirror, this should be a number between 0 - 255 (recommended larger than 0) indicating the opacity of the closest pixel. For a mirror thats completely opaque use 255. A recommended value would be between 128 to 90.

      Returns

      new image with a reflection effect for the source image

    • reflectionImage

      public static Image reflectionImage(Image source, float mirrorRatio, int alphaRatio, int spacing)

      Takes the given image and appends an effect of reflection below it that is similar to the way elements appear in water beneath them. This method shouldn't be used when numAlpha is very low.

      Parameters
      • source: image to add the reflection effect to

      • mirrorRatio: @param mirrorRatio generally less than 1, a mirror ration of 0.5f will create a mirror image half the height of the image, 0.75f will create a 3 quarter height mirror etc.

      • alphaRatio: @param alphaRatio starting point for the alpha value in the mirror, this should be a number between 0 - 255 (recommended larger than 0) indicating the opacity of the closest pixel. For a mirror thats completely opaque use 255. A recommended value would be between 128 to 90.

      • spacing: the distance in pixels between the image and its reflection

      Returns

      new image with a reflection effect for the source image

    • growShrink

      public static void growShrink(Component c, int duration)

      Grows or shrinks the given component to its new preferred size, this method essentially takes a component whose preferred size has changed and creates a "growing" effect that lasts for the duration. Notice that some components (such as text areas) don't report proper preferred size untill they are laid out once. Hence the first time around a text area (or container containing a text area) will not produce the expected effect. This can be solved by invoking revalidate before the call to this method only the first time around!

      Parameters
      • c: the component to grow/shrink, its size must be different from its preferred size

      • duration: the duration in milliseconds for the grow/shrink animation

      Deprecated

      use Component.growShrink instead

    • verticalPerspective

      public static Image verticalPerspective(Image i, float topScaleRatio, float bottomScaleRatio, float verticalShrink)

      Skews an image in a faux perspective transform on the vertical axis, this is effectively a fast scale algorithm that both shrinks the image vertically and reduces the width

      Parameters
      • topScaleRatio: the amount by which the top portion should be scaled where 1.0 means none

      • bottomScaleRatio: the amount by which the bottom portion should be scaled where 1.0 means none

      • verticalShrink: the scale ratio for the image height where 1.0 means none

      Returns

      the perspective translated image

    • gaussianBlurImage

      public static Image gaussianBlurImage(Image image, float radius)

      Create a blur image from the given image. The algorithm is gaussian blur - https://en.wikipedia.org/wiki/Gaussian_blur

      Parameters
      • image: the image to blur

      • radius: the radius to be used in the algorithm

    • isGaussianBlurSupported

      public static boolean isGaussianBlurSupported()

      Returns true if gaussian blur is supported on this platform

      Returns

      true if gaussian blur is supported.

    • dropshadow

      public static Image dropshadow(Image source, int blurRadius, float opacity, int xDistance, int yDistance)

      Generates a shadow for the source image and returns a new larger image containing the shadow

      Parameters
      • source: the source image for whom the shadow should be generated

      • blurRadius: a shadow is blurred using a gaussian blur when available, a value of 10 is often satisfactory

      • opacity: the opacity of the shadow between 0 - 1 where 1 is completely opaque

      • xDistance: the distance on the x axis from the main image body in pixels e.g. a negative value will represent a lightsource from the right (shadow on the left)

      • yDistance: the distance on the y axis from the main image body in pixels e.g. a negative value will represent a lightsource from the bottom (shadow on top)

      Returns

      a new image whose size incorporates x/yDistance

    • dropshadow

      public static Image dropshadow(Image source, int blurRadius, float opacity)

      Generates a shadow for the source image and returns either the shadow itself or the image merged with the shadow.

      Parameters
      • source: the source image for whom the shadow should be generated

      • blurRadius: a shadow is blurred using a gaussian blur when available, a value of 10 is often satisfactory

      • opacity: the opacity of the shadow between 0 - 1 where 1 is completely opaque

      Returns

      an image containing the shadow for source

    • squareShadow

      public static Image squareShadow(int width, int height, int blurRadius, float opacity)

      Generates a square shadow and returns it

      Parameters
      • width: the width of the shadow image

      • height: the height of the shadow image

      • blurRadius: a shadow is blurred using a gaussian blur when available, a value of 10 is often satisfactory

      • opacity: the opacity of the shadow between 0 - 1 where 1 is completely opaque

      Returns

      an image containing the shadow for source