BitmapShader
public
class
BitmapShader
extends Shader
java.lang.Object | ||
↳ | android.graphics.Shader | |
↳ | android.graphics.BitmapShader |
Shader used to draw a bitmap as a texture. The bitmap can be repeated or mirrored by setting the tiling mode.
Summary
Constants | |
---|---|
int |
FILTER_MODE_DEFAULT
This FilterMode value will respect the value of the Paint#isFilterBitmap flag while the shader is attached to the Paint. |
int |
FILTER_MODE_LINEAR
This FilterMode value will cause the shader to interpolate the output of the shader from a 2x2 grid of pixels nearest to the sample point (i.e. |
int |
FILTER_MODE_NEAREST
This FilterMode value will cause the shader to sample from the nearest pixel to the requested sample point. |
Public constructors | |
---|---|
BitmapShader(Bitmap bitmap, Shader.TileMode tileX, Shader.TileMode tileY)
Call this to create a new shader that will draw with a bitmap. |
Public methods | |
---|---|
int
|
getFilterMode()
Returns the filter mode used when sampling from this shader |
int
|
getMaxAnisotropy()
Returns the current max anisotropic filtering value configured by
|
void
|
setFilterMode(int mode)
Set the filter mode to be used when sampling from this shader. |
void
|
setMaxAnisotropy(int maxAnisotropy)
Enables and configures the max anisotropy sampling value. |
void
|
setOverrideGainmap(Gainmap overrideGainmap)
Draws the BitmapShader with a copy of the given gainmap instead of the gainmap on the Bitmap the shader was constructed from |
Inherited methods | |
---|---|
Constants
FILTER_MODE_DEFAULT
public static final int FILTER_MODE_DEFAULT
This FilterMode value will respect the value of the Paint#isFilterBitmap flag while the shader is attached to the Paint.
The exception to this rule is when a Shader is attached as input to a RuntimeShader. In that case this mode will default to FILTER_MODE_NEAREST.
See also:
Constant Value: 0 (0x00000000)
FILTER_MODE_LINEAR
public static final int FILTER_MODE_LINEAR
This FilterMode value will cause the shader to interpolate the output of the shader from a 2x2 grid of pixels nearest to the sample point (i.e. bilinear interpolation).
This value will override the effect of Paint#isFilterBitmap.
See also:
Constant Value: 2 (0x00000002)
FILTER_MODE_NEAREST
public static final int FILTER_MODE_NEAREST
This FilterMode value will cause the shader to sample from the nearest pixel to the requested sample point.
This value will override the effect of Paint#isFilterBitmap.
See also:
Constant Value: 1 (0x00000001)
Public constructors
BitmapShader
public BitmapShader (Bitmap bitmap, Shader.TileMode tileX, Shader.TileMode tileY)
Call this to create a new shader that will draw with a bitmap.
Parameters | |
---|---|
bitmap |
Bitmap : The bitmap to use inside the shader
This value cannot be null . |
tileX |
Shader.TileMode : The tiling mode for x to draw the bitmap in.
This value cannot be null . |
tileY |
Shader.TileMode : The tiling mode for y to draw the bitmap in.
This value cannot be null . |
Public methods
getFilterMode
public int getFilterMode ()
Returns the filter mode used when sampling from this shader
Returns | |
---|---|
int |
Value is FILTER_MODE_DEFAULT , FILTER_MODE_NEAREST , or FILTER_MODE_LINEAR |
getMaxAnisotropy
public int getMaxAnisotropy ()
Returns the current max anisotropic filtering value configured by
setFilterMode(int)
. If setFilterMode(int)
is invoked this returns zero.
Returns | |
---|---|
int |
setFilterMode
public void setFilterMode (int mode)
Set the filter mode to be used when sampling from this shader. If this is configured
then the anisotropic filtering value specified in any previous call to
setMaxAnisotropy(int)
is ignored.
Parameters | |
---|---|
mode |
int : Value is FILTER_MODE_DEFAULT , FILTER_MODE_NEAREST , or FILTER_MODE_LINEAR |
setMaxAnisotropy
public void setMaxAnisotropy (int maxAnisotropy)
Enables and configures the max anisotropy sampling value. If this value is configured,
setFilterMode(int)
is ignored.
Anisotropic filtering can enhance visual quality by removing aliasing effects of images
that are at oblique viewing angles. This value is typically consumed as a power of 2 and
anisotropic values of the next power of 2 typically provide twice the quality improvement
as the previous value. For example, a sampling value of 4 would provide twice the improvement
of a sampling value of 2. It is important to note that higher sampling values reach
diminishing returns as the improvements between 8 and 16 can be slight.
Parameters | |
---|---|
maxAnisotropy |
int : The Anisotropy value to use for filtering. Must be greater than 0.
Value is 1 or greater |
setOverrideGainmap
public void setOverrideGainmap (Gainmap overrideGainmap)
Draws the BitmapShader with a copy of the given gainmap instead of the gainmap on the Bitmap the shader was constructed from
Parameters | |
---|---|
overrideGainmap |
Gainmap : The gainmap to draw instead, null to use any gainmap on the Bitmap |