public class PaintAlpha extends java.lang.Object
Paint
The intention is to honour the alpha-channel in the process.
PaintAlpha
was originally conceived to improve the
rendering of 3D Shapes with transparent colours and to allow
invisible bars by making them completely transparent.
In, for example
StackedBarRenderer3D
,
bars are rendered with 6 faces. The front face is rendered with
the Paint
requested. The other 5 faces are rendered
darker to achieve the 3D effect.
Previously Color.darker()
was used for this,
which always returns an opaque colour.
Additionally there are methods to control the behaviour and
in particular a cloneImage(..)
method which is needed to darken objects of type TexturePaint
.
Constructor and Description |
---|
PaintAlpha() |
Modifier and Type | Method and Description |
---|---|
static java.awt.image.BufferedImage |
cloneImage(java.awt.image.BufferedImage image)
Clone a
BufferedImage . |
static java.awt.Paint |
darker(java.awt.Paint paint)
Create a new (if possible, darker)
Paint of the same Type. |
static boolean |
setLegacyAlpha(boolean legacyAlpha)
Per default
PaintAlpha will try to honour alpha-channel
information. |
public PaintAlpha()
public static boolean setLegacyAlpha(boolean legacyAlpha)
PaintAlpha
will try to honour alpha-channel
information. In the past this was not the case.
If you wish legacy functionality for your application you can request
this here.legacyAlpha
- booleanpublic static java.awt.Paint darker(java.awt.Paint paint)
Paint
of the same Type.
If the Type is not supported, the original Paint
is returned.
paint
- a Paint
implementation
(e.g. Color
, GradientPaint
, TexturePaint
,..)
Paint
public static java.awt.image.BufferedImage cloneImage(java.awt.image.BufferedImage image)
BufferedImage
.
Note: when constructing the clone, the original Color Model Object is
reused.
That keeps things simple and should not be a problem, as all
known Color Models
(IndexColorModel
,
DirectColorModel
,
ComponentColorModel
) are
immutable.
image
- original BufferedImage to clone