Android Dev Summit, October 23-24: two days of technical content, directly from the Android team. Sign-up for livestream updates.

ImageFilterView

public class ImageFilterView
extends AppCompatImageView

java.lang.Object
   ↳ android.support.v7.widget.AppCompatImageView
     ↳ android.support.constraint.utils.ImageFilterView


An ImageView that can display, combine and filter images. Added in 2.0

Subclass of ImageView to handle various common filtering operations

ImageFilterViewattributes

altSrc Provide and alternative image to the src image to allow cross fading
saturation Sets the saturation of the image.
0 = grayscale, 1 = original, 2 = hyper saturated
brightness Sets the brightness of the image.
0 = black, 1 = original, 2 = twice as bright
warmth This adjust the apparent color temperature of the image.
1=neutral, 2=warm, .5=cold
contrast This sets the contrast. 1 = unchanged, 0 = gray, 2 = high contrast
crossfade Set the current mix between the two images.
0=src 1= altSrc image
round (id) call the TransitionListener with this trigger id
roundPercent &nbs; Set the corner radius of curvature as a fraction of the smaller side. For squares 1 will result in a circle
overlay Defines whether the alt image will be faded in on top of the original image or if it will be crossfaded with it. Default is true. Set to false for semitransparent objects

Summary

Public constructors

ImageFilterView(Context context)
ImageFilterView(Context context, AttributeSet attrs)
ImageFilterView(Context context, AttributeSet attrs, int defStyleAttr)

Public methods

void draw(Canvas canvas)
float getBrightness()

Returns the currently applied brightness

float getContrast()

Returns the currently applied contrast

float getCrossfade()

Returns the currently applied crossfade.

float getRound()

Get the corner radius of curvature NaN = RoundPercent in effect.

float getRoundPercent()

Get the fractional corner radius of curvature.

float getSaturation()

Returns the currently applied saturation

float getWarmth()

Returns the currently applied warmth

void setBrightness(float brightness)

sets the brightness of the image; 0 = black, 1 = original, 2 = twice as bright

void setContrast(float contrast)

This sets the contrast.

void setCrossfade(float crossfade)

Set the current mix between the two images that can be set on this view.

void setRound(float round)

Set the corner radius of curvature

void setRoundPercent(float round)

Set the corner radius of curvature as a fraction of the smaller side.

void setSaturation(float saturation)

sets the saturation of the image; 0 = grayscale, 1 = original, 2 = hyper saturated

void setWarmth(float warmth)

This makes the apparent color temperature of the image warmer or colder.

Inherited methods

Public constructors

ImageFilterView

public ImageFilterView (Context context)

Parameters
context Context

ImageFilterView

public ImageFilterView (Context context, 
                AttributeSet attrs)

Parameters
context Context

attrs AttributeSet

ImageFilterView

public ImageFilterView (Context context, 
                AttributeSet attrs, 
                int defStyleAttr)

Parameters
context Context

attrs AttributeSet

defStyleAttr int

Public methods

draw

public void draw (Canvas canvas)

Parameters
canvas Canvas

getBrightness

public float getBrightness ()

Returns the currently applied brightness

Returns
float brightness 0 = black, 1 = original, 2 = twice as bright

getContrast

public float getContrast ()

Returns the currently applied contrast

Returns
float 1 = unchanged, 0 = gray, 2 = high contrast

getCrossfade

public float getCrossfade ()

Returns the currently applied crossfade.

Returns
float a number from 0 to 1

getRound

public float getRound ()

Get the corner radius of curvature NaN = RoundPercent in effect.

Returns
float Radius of curvature

getRoundPercent

public float getRoundPercent ()

Get the fractional corner radius of curvature.

Returns
float Fractional radius of curvature with respect to smallest size

getSaturation

public float getSaturation ()

Returns the currently applied saturation

Returns
float 0 = grayscale, 1 = original, 2 = hyper saturated

getWarmth

public float getWarmth ()

Returns the currently applied warmth

Returns
float warmth 1 is neutral, 2 is warm, .5 is cold

setBrightness

public void setBrightness (float brightness)

sets the brightness of the image; 0 = black, 1 = original, 2 = twice as bright

setContrast

public void setContrast (float contrast)

This sets the contrast. 1 = unchanged, 0 = gray, 2 = high contrast

setCrossfade

public void setCrossfade (float crossfade)

Set the current mix between the two images that can be set on this view.

Parameters
crossfade float: a number from 0 to 1

setRound

public void setRound (float round)

Set the corner radius of curvature

Parameters
round float: the radius of curvature NaN = default meaning roundPercent in effect

setRoundPercent

public void setRoundPercent (float round)

Set the corner radius of curvature as a fraction of the smaller side. For squares 1 will result in a circle

Parameters
round float: the radius of curvature as a fraction of the smaller width

setSaturation

public void setSaturation (float saturation)

sets the saturation of the image; 0 = grayscale, 1 = original, 2 = hyper saturated

setWarmth

public void setWarmth (float warmth)

This makes the apparent color temperature of the image warmer or colder.

Parameters
warmth float: 1 is neutral, 2 is warm, .5 is cold