ImageFilterView
public class ImageFilterView extends AppCompatImageView
| java.lang.Object | ||||
| ↳ | android.view.View | |||
| ↳ | android.widget.ImageView | |||
| ↳ | androidx.appcompat.widget.AppCompatImageView | |||
| ↳ | androidx.constraintlayout.utils.widget.ImageFilterView |
An ImageView that can display, combine and filter images. Added in 2.0
Subclass of ImageView to handle various common filtering operations
ImageFilterView attributes
| 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 | 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 |
|
float |
Returns the currently applied brightness |
float |
Returns the currently applied contrast |
float |
Returns the currently applied crossfade. |
float |
Gets the pan from the center pan of 1 the image is "all the way to the right" if the images width is greater than the screen width, pan = 1 results in the left edge lining up if the images width is less than the screen width, pan = 1 results in the right edges lining up if image width == screen width it does nothing |
float |
gets the pan from the center pan of 1 the image is "all the way to the bottom" if the images width is greater than the screen height, pan = 1 results in the bottom edge lining up if the images width is less than the screen height, pan = 1 results in the top edges lining up if image height == screen height it does nothing |
float |
gets the rotation |
float |
gets the zoom where 1 scales the image just enough to fill the view |
float |
getRound()Get the corner radius of curvature NaN = RoundPercent in effect. |
float |
Get the fractional corner radius of curvature. |
float |
Returns the currently applied saturation |
float |
Returns the currently applied warmth |
void |
layout(int l, int t, int r, int b) |
void |
setAltImageDrawable(Drawable altDrawable)Set the alternative Image Drawable used in cross fading. |
void |
setAltImageResource(int resId)Set the alternative Image resource used in cross fading |
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 |
setImageDrawable(Drawable drawable) |
void |
setImagePanX(float pan)sets the pan from the center pan of 1 the image is "all the way to the right" if the images width is greater than the screen width, pan = 1 results in the left edge lining up if the images width is less than the screen width, pan = 1 results in the right edges lining up if image width == screen width it does nothing |
void |
setImagePanY(float pan)sets the pan from the center pan of 1 the image is "all the way to the bottom" if the images width is greater than the screen height, pan = 1 results in the bottom edge lining up if the images width is less than the screen height, pan = 1 results in the top edges lining up if image height == screen height it does nothing |
void |
setImageResource(int resId)Sets a drawable as the content of this ImageView. |
void |
setImageRotate(float rotation)sets the rotation angle of the image in degrees |
void |
setImageZoom(float zoom)sets the zoom where 1 scales the image just enough to fill the view |
void |
@RequiresApi(value = Build.VERSION_CODES.LOLLIPOP)Set the corner radius of curvature |
void |
@RequiresApi(value = Build.VERSION_CODES.LOLLIPOP)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 Constants |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Inherited methods |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Public constructors
ImageFilterView
public ImageFilterView(Context context, AttributeSet attrs, int defStyleAttr)
Public methods
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 |
getImagePanX
public float getImagePanX()
Gets the pan from the center pan of 1 the image is "all the way to the right" if the images width is greater than the screen width, pan = 1 results in the left edge lining up if the images width is less than the screen width, pan = 1 results in the right edges lining up if image width == screen width it does nothing
| Returns | |
|---|---|
float |
the pan in X. Where 0 is centered = Float. NaN if not set |
getImagePanY
public float getImagePanY()
gets the pan from the center pan of 1 the image is "all the way to the bottom" if the images width is greater than the screen height, pan = 1 results in the bottom edge lining up if the images width is less than the screen height, pan = 1 results in the top edges lining up if image height == screen height it does nothing
| Returns | |
|---|---|
float |
pan in y. Where 0 is centered NaN if not set |
getImageRotate
public float getImageRotate()
gets the rotation
| Returns | |
|---|---|
float |
the rotation in degrees |
getImageZoom
public float getImageZoom()
gets the zoom where 1 scales the image just enough to fill the view
| Returns | |
|---|---|
float |
the zoom factor |
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 |
setAltImageDrawable
public void setAltImageDrawable(Drawable altDrawable)
Set the alternative Image Drawable used in cross fading.
| Parameters | |
|---|---|
Drawable altDrawable |
of drawable |
setAltImageResource
public void setAltImageResource(int resId)
Set the alternative Image resource used in cross fading
| Parameters | |
|---|---|
int resId |
id of drawable |
setBrightness
public void setBrightness(float brightness)
sets the brightness of the image; 0 = black, 1 = original, 2 = twice as bright
| Parameters | |
|---|---|
float brightness |
setContrast
public void setContrast(float contrast)
This sets the contrast. 1 = unchanged, 0 = gray, 2 = high contrast
| Parameters | |
|---|---|
float contrast |
setCrossfade
public void setCrossfade(float crossfade)
Set the current mix between the two images that can be set on this view.
| Parameters | |
|---|---|
float crossfade |
a number from 0 to 1 |
setImagePanX
public void setImagePanX(float pan)
sets the pan from the center pan of 1 the image is "all the way to the right" if the images width is greater than the screen width, pan = 1 results in the left edge lining up if the images width is less than the screen width, pan = 1 results in the right edges lining up if image width == screen width it does nothing
| Parameters | |
|---|---|
float pan |
sets the pan in X. Where 0 is centered |
setImagePanY
public void setImagePanY(float pan)
sets the pan from the center pan of 1 the image is "all the way to the bottom" if the images width is greater than the screen height, pan = 1 results in the bottom edge lining up if the images width is less than the screen height, pan = 1 results in the top edges lining up if image height == screen height it does nothing
| Parameters | |
|---|---|
float pan |
sets the pan in X. Where 0 is centered |
setImageResource
public void setImageResource(int resId)
Sets a drawable as the content of this ImageView.
Allows the use of vector drawables when running on older versions of the platform.
| Parameters | |
|---|---|
int resId |
the resource identifier of the drawable |
| See also | |
|---|---|
setImageResource |
setImageRotate
public void setImageRotate(float rotation)
sets the rotation angle of the image in degrees
| Parameters | |
|---|---|
float rotation |
the rotation in degrees |
setImageZoom
public void setImageZoom(float zoom)
sets the zoom where 1 scales the image just enough to fill the view
| Parameters | |
|---|---|
float zoom |
the zoom factor |
setRound
@RequiresApi(value = Build.VERSION_CODES.LOLLIPOP)
public void setRound(float round)
Set the corner radius of curvature
| Parameters | |
|---|---|
float round |
the radius of curvature NaN = default meaning roundPercent in effect |
setRoundPercent
@RequiresApi(value = Build.VERSION_CODES.LOLLIPOP)
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 | |
|---|---|
float round |
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
| Parameters | |
|---|---|
float saturation |