EffectFactory


public class EffectFactory
extends Object

java.lang.Object
   ↳ android.media.effect.EffectFactory


The EffectFactory class defines the list of available Effects, and provides functionality to inspect and instantiate them. Some effects may not be available on all platforms, so before creating a certain effect, the application should confirm that the effect is supported on this platform by calling isEffectSupported(java.lang.String).

Summary

Constants

String EFFECT_AUTOFIX

Attempts to auto-fix the image based on histogram equalization.

String EFFECT_BACKDROPPER

Replaces the background of the input frames with frames from a selected video.

String EFFECT_BITMAPOVERLAY

Overlays a bitmap (with premultiplied alpha channel) onto the input image.

String EFFECT_BLACKWHITE

Adjusts the range of minimal and maximal color pixel intensities.

String EFFECT_BRIGHTNESS

Adjusts the brightness of the image.

String EFFECT_CONTRAST

Adjusts the contrast of the image.

String EFFECT_CROP

Crops an upright rectangular area from the image.

String EFFECT_CROSSPROCESS

Applies a cross process effect on image, in which the red and green channels are enhanced while the blue channel is restricted.

String EFFECT_DOCUMENTARY

Applies black and white documentary style effect on image..

String EFFECT_DUOTONE

Representation of photo using only two color tones.

String EFFECT_FILLLIGHT

Applies back-light filling to the image.

String EFFECT_FISHEYE

Applies a fisheye lens distortion to the image.

String EFFECT_FLIP

Flips image vertically and/or horizontally.

String EFFECT_GRAIN

Applies film grain effect to image.

String EFFECT_GRAYSCALE

Converts image to grayscale.

String EFFECT_LOMOISH

Applies lomo-camera style effect to image.

String EFFECT_NEGATIVE

Inverts the image colors.

String EFFECT_POSTERIZE

Applies posterization effect to image.

String EFFECT_REDEYE

Removes red eyes on specified region.

String EFFECT_ROTATE

Rotates the image.

String EFFECT_SATURATE

Adjusts color saturation of image.

String EFFECT_SEPIA

Converts image to sepia tone.

String EFFECT_SHARPEN

Sharpens the image.

String EFFECT_STRAIGHTEN

Rotates the image according to the specified angle, and crops the image so that no non-image portions are visible.

String EFFECT_TEMPERATURE

Adjusts color temperature of the image.

String EFFECT_TINT

Tints the photo with specified color.

String EFFECT_VIGNETTE

Adds a vignette effect to image, i.e.

Public methods

Effect createEffect(String effectName)

Instantiate a new effect with the given effect name.

static boolean isEffectSupported(String effectName)

Check if an effect is supported on this platform.

Inherited methods

Constants

EFFECT_AUTOFIX

Added in API level 14
public static final String EFFECT_AUTOFIX

Attempts to auto-fix the image based on histogram equalization.

Available parameters:

Parameter nameMeaningValid values
scale The scale of the adjustment. Float, between 0 and 1. Zero means no adjustment, while 1 indicates the maximum amount of adjustment.

Constant Value: "android.media.effect.effects.AutoFixEffect"

EFFECT_BACKDROPPER

Added in API level 14
public static final String EFFECT_BACKDROPPER

Replaces the background of the input frames with frames from a selected video. Requires an initial learning period with only the background visible before the effect becomes active. The effect will wait until it does not see any motion in the scene before learning the background and starting the effect.

Available parameters:

Parameter nameMeaningValid values
source A URI for the background video to use. This parameter must be supplied before calling apply() for the first time. String, such as from Uri.toString()

If the update listener is set for this effect using Effect#setUpdateListener, it will be called when the effect has finished learning the background, with a null value for the info parameter.

Constant Value: "android.media.effect.effects.BackDropperEffect"

EFFECT_BITMAPOVERLAY

Added in API level 14
public static final String EFFECT_BITMAPOVERLAY

Overlays a bitmap (with premultiplied alpha channel) onto the input image. The bitmap is stretched to fit the input image.

Available parameters:

Parameter nameMeaningValid values
bitmap The overlay bitmap. A non-null Bitmap instance.

Constant Value: "android.media.effect.effects.BitmapOverlayEffect"

EFFECT_BLACKWHITE

Added in API level 14
public static final String EFFECT_BLACKWHITE

Adjusts the range of minimal and maximal color pixel intensities.

Available parameters:

Parameter nameMeaningValid values
black The value of the minimal pixel. Float, between 0 and 1.
white The value of the maximal pixel. Float, between 0 and 1.

Constant Value: "android.media.effect.effects.BlackWhiteEffect"

EFFECT_BRIGHTNESS

Added in API level 14
public static final String EFFECT_BRIGHTNESS

Adjusts the brightness of the image.

Available parameters:

Parameter nameMeaningValid values
brightness The brightness multiplier. Positive float. 1.0 means no change; larger values will increase brightness.

Constant Value: "android.media.effect.effects.BrightnessEffect"

EFFECT_CONTRAST

Added in API level 14
public static final String EFFECT_CONTRAST

Adjusts the contrast of the image.

Available parameters:

Parameter nameMeaningValid values
contrast The contrast multiplier. Float. 1.0 means no change; larger values will increase contrast.

Constant Value: "android.media.effect.effects.ContrastEffect"

EFFECT_CROP

Added in API level 14
public static final String EFFECT_CROP

Crops an upright rectangular area from the image. If the crop region falls outside of the image bounds, the results are undefined.

Available parameters:

Parameter nameMeaningValid values
xorigin The origin's x-value. Integer, between 0 and width of the image.
yorigin The origin's y-value. Integer, between 0 and height of the image.
width The width of the cropped image. Integer, between 1 and the width of the image minus xorigin.
height The height of the cropped image. Integer, between 1 and the height of the image minus yorigin.

Constant Value: "android.media.effect.effects.CropEffect"

EFFECT_CROSSPROCESS

Added in API level 14
public static final String EFFECT_CROSSPROCESS

Applies a cross process effect on image, in which the red and green channels are enhanced while the blue channel is restricted.

Available parameters: None

Constant Value: "android.media.effect.effects.CrossProcessEffect"

EFFECT_DOCUMENTARY

Added in API level 14
public static final String EFFECT_DOCUMENTARY

Applies black and white documentary style effect on image..

Available parameters: None

Constant Value: "android.media.effect.effects.DocumentaryEffect"

EFFECT_DUOTONE

Added in API level 14
public static final String EFFECT_DUOTONE

Representation of photo using only two color tones.

Available parameters:

Parameter nameMeaningValid values
first_color The first color tone. Integer, representing an ARGB color with 8 bits per channel. May be created using Color class.
second_color The second color tone. Integer, representing an ARGB color with 8 bits per channel. May be created using Color class.

Constant Value: "android.media.effect.effects.DuotoneEffect"

EFFECT_FILLLIGHT

Added in API level 14
public static final String EFFECT_FILLLIGHT

Applies back-light filling to the image.

Available parameters:

Parameter nameMeaningValid values
strength The strength of the backlight. Float, between 0 and 1. Zero means no change.

Constant Value: "android.media.effect.effects.FillLightEffect"

EFFECT_FISHEYE

Added in API level 14
public static final String EFFECT_FISHEYE

Applies a fisheye lens distortion to the image.

Available parameters:

Parameter nameMeaningValid values
scale The scale of the distortion. Float, between 0 and 1. Zero means no distortion.

Constant Value: "android.media.effect.effects.FisheyeEffect"

EFFECT_FLIP

Added in API level 14
public static final String EFFECT_FLIP

Flips image vertically and/or horizontally.

Available parameters:

Parameter nameMeaningValid values
vertical Whether to flip image vertically. Boolean
horizontal Whether to flip image horizontally. Boolean

Constant Value: "android.media.effect.effects.FlipEffect"

EFFECT_GRAIN

Added in API level 14
public static final String EFFECT_GRAIN

Applies film grain effect to image.

Available parameters:

Parameter nameMeaningValid values
strength The strength of the grain effect. Float, between 0 and 1. Zero means no change.

Constant Value: "android.media.effect.effects.GrainEffect"

EFFECT_GRAYSCALE

Added in API level 14
public static final String EFFECT_GRAYSCALE

Converts image to grayscale.

Available parameters: None

Constant Value: "android.media.effect.effects.GrayscaleEffect"

EFFECT_LOMOISH

Added in API level 14
public static final String EFFECT_LOMOISH

Applies lomo-camera style effect to image.

Available parameters: None

Constant Value: "android.media.effect.effects.LomoishEffect"

EFFECT_NEGATIVE

Added in API level 14
public static final String EFFECT_NEGATIVE

Inverts the image colors.

Available parameters: None

Constant Value: "android.media.effect.effects.NegativeEffect"

EFFECT_POSTERIZE

Added in API level 14
public static final String EFFECT_POSTERIZE

Applies posterization effect to image.

Available parameters: None

Constant Value: "android.media.effect.effects.PosterizeEffect"

EFFECT_REDEYE

Added in API level 14
public static final String EFFECT_REDEYE

Removes red eyes on specified region.

Available parameters:

Parameter nameMeaningValid values
centers Multiple center points (x, y) of the red eye regions. An array of floats, where (f[2*i], f[2*i+1]) specifies the center of the i'th eye. Coordinate values are expected to be normalized between 0 and 1.

Constant Value: "android.media.effect.effects.RedEyeEffect"

EFFECT_ROTATE

Added in API level 14
public static final String EFFECT_ROTATE

Rotates the image. The output frame size must be able to fit the rotated version of the input image. Note that the rotation snaps to a the closest multiple of 90 degrees.

Available parameters:

Parameter nameMeaningValid values
angle The angle of rotation in degrees. Integer value. This will be rounded to the nearest multiple of 90.

Constant Value: "android.media.effect.effects.RotateEffect"

EFFECT_SATURATE

Added in API level 14
public static final String EFFECT_SATURATE

Adjusts color saturation of image.

Available parameters:

Parameter nameMeaningValid values
scale The scale of color saturation. Float, between -1 and 1. 0 means no change, while -1 indicates full desaturation, i.e. grayscale.

Constant Value: "android.media.effect.effects.SaturateEffect"

EFFECT_SEPIA

Added in API level 14
public static final String EFFECT_SEPIA

Converts image to sepia tone.

Available parameters: None

Constant Value: "android.media.effect.effects.SepiaEffect"

EFFECT_SHARPEN

Added in API level 14
public static final String EFFECT_SHARPEN

Sharpens the image.

Available parameters:

Parameter nameMeaningValid values
scale The degree of sharpening. Float, between 0 and 1. 0 means no change.

Constant Value: "android.media.effect.effects.SharpenEffect"

EFFECT_STRAIGHTEN

Added in API level 14
public static final String EFFECT_STRAIGHTEN

Rotates the image according to the specified angle, and crops the image so that no non-image portions are visible.

Available parameters:

Parameter nameMeaningValid values
angle The angle of rotation. Float, between -45 and +45.

Constant Value: "android.media.effect.effects.StraightenEffect"

EFFECT_TEMPERATURE

Added in API level 14
public static final String EFFECT_TEMPERATURE

Adjusts color temperature of the image.

Available parameters:

Parameter nameMeaningValid values
scale The value of color temperature. Float, between 0 and 1, with 0 indicating cool, and 1 indicating warm. A value of of 0.5 indicates no change.

Constant Value: "android.media.effect.effects.ColorTemperatureEffect"

EFFECT_TINT

Added in API level 14
public static final String EFFECT_TINT

Tints the photo with specified color.

Available parameters:

Parameter nameMeaningValid values
tint The color of the tint. Integer, representing an ARGB color with 8 bits per channel. May be created using Color class.

Constant Value: "android.media.effect.effects.TintEffect"

EFFECT_VIGNETTE

Added in API level 14
public static final String EFFECT_VIGNETTE

Adds a vignette effect to image, i.e. fades away the outer image edges.

Available parameters:

Parameter nameMeaningValid values
scale The scale of vignetting. Float, between 0 and 1. 0 means no change.

Constant Value: "android.media.effect.effects.VignetteEffect"

Public methods

createEffect

Added in API level 14
public Effect createEffect (String effectName)

Instantiate a new effect with the given effect name.

The effect's parameters will be set to their default values.

Note that the EGL context associated with the current EffectContext need not be made current when creating an effect. This allows the host application to instantiate effects before any EGL context has become current.

Parameters
effectName String: The name of the effect to create.

Returns
Effect A new Effect instance.

Throws
IllegalArgumentException if the effect with the specified name is not supported or not known.

isEffectSupported

Added in API level 14
public static boolean isEffectSupported (String effectName)

Check if an effect is supported on this platform.

Some effects may only be available on certain platforms. Use this method before instantiating an effect to make sure it is supported.

Parameters
effectName String: The name of the effect.

Returns
boolean true, if the effect is supported on this platform.

Throws
IllegalArgumentException if the effect name is not known.