public class BasicStroke extends Object implements Stroke
BasicStroke
类为图形基元的轮廓定义了一组基本渲染属性,它们以Graphics2D
对象的形式呈现,该对象的Stroke属性设置为BasicStroke
。
由BasicStroke定义的BasicStroke
描述了沿着Shape
轮廓绘制的钢笔标记的形状,以及Shape路径段末端和连接处的Shape
。
这些呈现属性包括:
SEG_CLOSE
。
三个不同的装饰是: CAP_BUTT
, CAP_ROUND
和CAP_SQUARE
。
SEG_CLOSE
关闭的子路径的端点的相交处应用的装饰 。
三个不同的装饰是: JOIN_BEVEL
, JOIN_MITER
和JOIN_ROUND
。
Shape
参数在同一坐标系中进行测量。
当一个Graphics2D
对象使用Stroke
对象在执行其中一个draw
方法时重新定义路径时,在应用Graphics2D
转换属性之前, Graphics2D
原始格式提供几何。
因此,当笔宽度在用户空间解释协调的系统属性,例如Graphics2D
对象,并有可能在用户空间到设备空间的该特定变换的缩放和剪切作用Graphics2D
。
例如,渲染形状轮廓的宽度不仅由此BasicStroke
的width属性BasicStroke
,而且由Graphics2D
对象的Graphics2D
属性确定。
考虑这个代码:
// sets the Graphics2D object's Transform attribute g2d.scale(10, 10); // sets the Graphics2D object's Stroke attribute g2d.setStroke(new BasicStroke(1.5f));假设没有其他缩放变换添加到
Graphics2D
对象中,生成的行将大约为15像素宽。
如示例代码所示,浮点线提供更好的精度,特别是当与Graphics2D
对象一起使用大型变换时。
当一条线是对角线时,确切的宽度取决于渲染管道如何选择要填充的像素,因为它跟踪了理论上的扩展轮廓。
由于抗锯齿渲染流水线可以选择对部分覆盖的像素进行颜色化,所以要打开的像素的选择受抗锯齿属性的影响。
有关用户空间坐标系和渲染过程的更多信息,请参阅Graphics2D
类注释。
Graphics2D
Modifier and Type | Field and Description |
---|---|
static int |
CAP_BUTT
结束未封闭的子路径和划线段,没有添加装饰。
|
static int |
CAP_ROUND
用圆形装饰结束未封闭的子路径和划线段,半圆形的半径等于笔宽的一半。
|
static int |
CAP_SQUARE
结束未封闭的子路径和划线段,其中方块投影延伸超出段的末端至等于线宽一半的距离。
|
static int |
JOIN_BEVEL
通过连接其广泛轮廓的外角与直线段来连接路段。
|
static int |
JOIN_MITER
通过延伸它们的外边缘直到它们相遇来连接路段。
|
static int |
JOIN_ROUND
通过以半角宽度的半径舍入角落来连接路径段。
|
Constructor and Description |
---|
BasicStroke()
构造一个新的
BasicStroke ,默认为所有属性。
|
BasicStroke(float width)
构造一个具有指定线宽的固体
BasicStroke ,并使用上限和连接样式的默认值。
|
BasicStroke(float width, int cap, int join)
构造具有
BasicStroke 的实体BasicStroke。
|
BasicStroke(float width, int cap, int join, float miterlimit)
构造具有
BasicStroke 的实体BasicStroke。
|
BasicStroke(float width, int cap, int join, float miterlimit, float[] dash, float dash_phase)
构造具有
BasicStroke 属性的新的BasicStroke。
|
Modifier and Type | Method and Description |
---|---|
Shape |
createStrokedShape(Shape s)
返回
Shape ,其内部定义了指定的笔划轮廓
Shape 。
|
boolean |
equals(Object obj)
测试指定的对象等于此
BasicStroke 由第一测试它是否是
BasicStroke ,然后比较它的宽度,连接,帽,斜接限制,虚线和与此的虚线相位属性
BasicStroke 。
|
float[] |
getDashArray()
返回表示短划线段长度的数组。
|
float |
getDashPhase()
返回当前的虚线阶段。
|
int |
getEndCap()
返回端帽样式。
|
int |
getLineJoin()
返回行连接样式。
|
float |
getLineWidth()
返回行宽。
|
float |
getMiterLimit()
返回斜角连接的极限。
|
int |
hashCode()
返回此笔画的哈希码。
|
@Native public static final int JOIN_MITER
@Native public static final int JOIN_ROUND
@Native public static final int JOIN_BEVEL
@Native public static final int CAP_BUTT
@Native public static final int CAP_ROUND
@Native public static final int CAP_SQUARE
@ConstructorProperties(value={"lineWidth","endCap","lineJoin","miterLimit","dashArray","dashPhase"}) public BasicStroke(float width, int cap, int join, float miterlimit, float[] dash, float dash_phase)
BasicStroke
属性的新的BasicStroke。
width
- 这个宽度BasicStroke
。
宽度必须大于或等于0.0f。
如果width设置为0.0f,则笔画将被渲染为目标设备的最薄可能的线和反锯齿提示设置。
cap
- 装饰的一端
BasicStroke
join
- 路径段遇到的装饰
miterlimit
- 修剪斜接连接的限制。
斜度必须大于或等于1.0f。
dash
- 表示破损模式的数组
dash_phase
- 启动
dash_phase
模式的偏移量
IllegalArgumentException
- 如果
width
为负数
IllegalArgumentException
- 如果
cap
不是CAP_BUTT,CAP_ROUND或CAP_SQUARE
IllegalArgumentException
- 如果
miterlimit
小于1,并且
join
是JOIN_MITER
IllegalArgumentException
- 如果
join
不是JOIN_ROUND,JOIN_BEVEL或JOIN_MITER
IllegalArgumentException
- 如果
dash_phase
是否定的,
dash
不是
null
IllegalArgumentException
-如果长度
dash
为零
IllegalArgumentException
- 如果破折号长度全为零。
public BasicStroke(float width, int cap, int join, float miterlimit)
BasicStroke
具有指定属性。
width
- 宽度为
BasicStroke
cap
- 装饰的一端
BasicStroke
join
- 路径段相遇的装饰
miterlimit
- 修剪斜接连接的限制
IllegalArgumentException
- 如果
width
为负数
IllegalArgumentException
- 如果
cap
不是CAP_BUTT,CAP_ROUND或CAP_SQUARE
IllegalArgumentException
- 如果
miterlimit
小于1,并且
join
是JOIN_MITER
IllegalArgumentException
- 如果
join
不是JOIN_ROUND,JOIN_BEVEL或JOIN_MITER
public BasicStroke(float width, int cap, int join)
BasicStroke
的实体BasicStroke。
在miterlimit
默认值或者没有将线路连接指定为JOIN_MITER的情况下,miterlimit参数是不必要的。
width
- 宽度为
BasicStroke
cap
- 装饰的一端
BasicStroke
join
- 路径段遇到的装饰
IllegalArgumentException
- 如果
width
为负数
IllegalArgumentException
- 如果
cap
不是CAP_BUTT,CAP_ROUND或CAP_SQUARE
IllegalArgumentException
- 如果
join
不是JOIN_ROUND,JOIN_BEVEL或JOIN_MITER
public BasicStroke(float width)
BasicStroke
,具有指定的线宽,并具有上限和连接样式的默认值。
width
- 宽度为
BasicStroke
IllegalArgumentException
- 如果
width
为负数
public BasicStroke()
BasicStroke
,默认为所有属性。
默认属性是宽度为1.0的实线,CAP_SQUARE,JOIN_MITER,斜度限制为10.0。
public Shape createStrokedShape(Shape s)
Shape
,其内部定义了指定的笔划轮廓
Shape
。
createStrokedShape
在界面
Stroke
s
-
Shape
边界被抚摸
Shape
的抚摸大纲。
public float getLineWidth()
Graphics2D
类注释。
BasicStroke
。
Graphics2D
public int getEndCap()
BasicStroke
端盖风格是定义可能的端帽风格的静态
int
值之一。
public int getLineJoin()
BasicStroke
为静态的一个
int
定义可能的线条连接样式值。
public float getMiterLimit()
BasicStroke
的斜角连接
BasicStroke
。
public float[] getDashArray()
Shape
的轮廓移动时,钢笔行进的用户空间距离被累积。
距离值用于索引到仪表盘阵列中。
当笔的当前累积距离映射到仪表阵列的偶数元素时,笔是不透明的,否则为透明度。
public float getDashPhase()
float
价值。
public int hashCode()
hashCode
在类别
Object
Object.equals(java.lang.Object)
,
System.identityHashCode(java.lang.Object)
public boolean equals(Object obj)
BasicStroke
,然后将其宽度,连接,上限,斜度限制,破折号和破折号相位属性与这个
BasicStroke
进行比较,来测试指定对象是否等于
BasicStroke
。
equals
在
Object
obj
- 与此
BasicStroke
比较的指定对象
true
如果两个对象的宽度,连接,上限, true
限制,破折号和破折号相位是相同的;
false
否则。
Object.hashCode()
, HashMap