|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.awt
类 BasicStroke
java.lang.Object java.awt.BasicStroke
- 所有已实现的接口:
- Stroke
BasicStroke
类定义针对图形图元轮廓呈现属性的一个基本集合,这些图元使用 Graphics2D
对象呈现,而该对象的 Stroke 属性设置为此 BasicStroke
。由 BasicStroke
定义的呈现属性描述了用画笔沿 Shape
的轮廓绘制的某个标记的形状,以及应用在 Shape
路径线段的末端和连接处的装饰。 这些呈现属性包括:
- width
- 画笔的宽度,是垂直于画笔轨迹的测量值。
- end caps
-
在未封闭子路径和虚线线段的末端应用的一些装饰。如果子路径没有 CLOSE 段,则在同一点上开始和结束的子路径仍被认为是未封闭的。关于 CLOSE 段的更多信息,请参阅
SEG_CLOSE
。三个不同的装饰是:CAP_BUTT
、CAP_ROUND
和CAP_SQUARE
。 - line joins
-
在两个路径线段的交汇处,以及使用
SEG_CLOSE
封闭的子路径端点的交汇处应用的装饰。三个不同的装饰是:JOIN_BEVEL
、JOIN_MITER
和JOIN_ROUND
。 - miter limit
- 对剪裁具有 JOIN_MITER 装饰的线接合点的限制。当斜接长度与笔划宽度的比大于 miterlimit 值时,需要剪裁线接合点。斜接长度是斜接的对角线长度,即交汇处的内棱角和外棱角之间的距离。两条线段形成的角度越小,斜接长度就越长,交汇处的角度就越尖锐。默认 miterlimit 值为 10.0f,它会使所有小于 11 度的角都被剪裁。剪裁斜接会使线接合点的装饰变成斜角。
- dash attributes
- 关于如何通过在不透明和透明部分之间交替形成一个虚线模式的定义。
Shape
参数相同的坐标系统中测量的。当 Graphics2D
对象在执行其 draw
方法之一期间使用 Stroke
对象重定义一条路径时,在应用 Graphics2D
转换属性之前,要提供原始形式的几何形状。所以,诸如画笔宽度之类的属性是在 Graphics2D
对象的用户空间坐标系统中解释的,并受制于特定 Graphics2D
中用户空间到设备空间转换的缩放和剪切效果。例如,呈现形状的轮廓宽度不仅由此 BasicStroke
的 width 属性确定,还由 Graphics2D
对象的 transform 属性确定。请考虑以下代码:
// sets the Graphics2D object's Tranform attribute g2d.scale(10, 10); // sets the Graphics2D object's Stroke attribute g2d.setStroke(new BasicStroke(1.5f));假定不对
Graphics2D
对象添加其他任何缩放转换,那么所得到的线条宽度大约是 15 个像素宽。如示例代码所述,浮点线提供了更好的精度,特别是在对 Graphics2D
对象使用大型转换时。当一条线是斜线时,具体的宽度取决于在追踪理论上已加宽的轮廓时,呈现管线选择填充哪些像素。选择开启哪些像素受到 antialiasing 属性的影响,因为抗锯齿呈现管线可以选择给部分覆盖的像素着色。
关于用户空间坐标和呈现过程的更多信息,请参阅 Graphics2D
类的注释。
- 另请参见:
-
Graphics2D
字段摘要 | |
---|---|
static int |
CAP_BUTT 无装饰地结束未封闭的子路径和虚线线段。 |
static int |
CAP_ROUND 使用半径等于画笔宽度一半的圆形装饰结束未封闭的子路径和虚线线段。 |
static int |
CAP_SQUARE 使用正方形结束未封闭的子路径和虚线线段,正方形越过线段端点,并延长等于线条宽度一半的距离。 |
static int |
JOIN_BEVEL 通过直线连接宽体轮廓的外角,将路径线段连接在一起。 |
static int |
JOIN_MITER 扩展路径线段的外边缘,直到它们连接在一起。 |
static int |
JOIN_ROUND 通过舍去半径为线长的一半的圆角,将路径线段连接在一起。 |
构造方法摘要 | |
---|---|
BasicStroke() 构造一个具有所有属性的默认值的新 BasicStroke 。 |
|
BasicStroke(float width) 构造一个具有指定线条宽度以及 cap 和 join 风格的默认值的实心 BasicStroke 。 |
|
BasicStroke(float width, int cap, int join) 构造一个具有指定属性的实心的 BasicStroke 。 |
|
BasicStroke(float width, int cap, int join, float miterlimit) 构造一个具有指定属性的实心的 BasicStroke 。 |
|
BasicStroke(float width, int cap, int join, float miterlimit, float[] dash, float dash_phase) 构造一个具有指定属性的新 BasicStroke 。 |
方法摘要 | |
---|---|
Shape |
createStrokedShape(Shape s) 返回一个 Shape ,它在内部定义了指定 Shape 的笔划轮廓。 |
boolean |
equals(Object obj) 测试指定对象与此 BasicStroke 是否相等,首先测试指定对象是否是一个 BasicStroke ,然后将其宽度、连接、cap、斜接限制、虚线和虚线相位属性与 BasicStroke 的那些属性进行比较。 |
void |
feedConsumer(sun.dc.path.PathConsumer consumer, PathIterator pi) |
float[] |
getDashArray() 返回表示虚线线段长度的数组。 |
float |
getDashPhase() 返回当前虚线相位。 |
int |
getEndCap() 返回端点的 cap 样式。 |
int |
getLineJoin() 返回线条连接样式。 |
float |
getLineWidth() 返回线条的宽度。 |
float |
getMiterLimit() 返回斜接的限制。 |
int |
hashCode() 返回此笔划的哈希码。 |
从类 java.lang.Object 继承的方法 |
---|
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait |
字段详细信息 |
---|
JOIN_MITER
public static final int JOIN_MITER
-
扩展路径线段的外边缘,直到它们连接在一起。
- 另请参见:
- 常量字段值
JOIN_ROUND
public static final int JOIN_ROUND
-
通过舍去半径为线长的一半的圆角,将路径线段连接在一起。
- 另请参见:
- 常量字段值
JOIN_BEVEL
public static final int JOIN_BEVEL
-
通过直线连接宽体轮廓的外角,将路径线段连接在一起。
- 另请参见:
- 常量字段值
CAP_BUTT
public static final int CAP_BUTT
-
无装饰地结束未封闭的子路径和虚线线段。
- 另请参见:
- 常量字段值
CAP_ROUND
public static final int CAP_ROUND
-
使用半径等于画笔宽度一半的圆形装饰结束未封闭的子路径和虚线线段。
- 另请参见:
- 常量字段值
CAP_SQUARE
public static final int CAP_SQUARE
-
使用正方形结束未封闭的子路径和虚线线段,正方形越过线段端点,并延长等于线条宽度一半的距离。
- 另请参见:
- 常量字段值
构造方法详细信息 |
---|
BasicStroke
public BasicStroke(float width, int cap, int join, float miterlimit, float[] dash, float dash_phase)
-
构造一个具有指定属性的新
BasicStroke
。- 参数:
-
width
- 此BasicStroke
的宽度。此宽度必须大于或等于 0.0f。如果将宽度设置为 0.0f,则将笔划呈现为可用于目标设备和抗锯齿提示设置的最细线条。 -
cap
-BasicStroke
端点的装饰 -
join
- 应用在路径线段交汇处的装饰 -
miterlimit
- 斜接处的剪裁限制。miterlimit 必须大于或等于 1.0f。 -
dash
- 表示虚线模式的数组 -
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
- 如果所有 dash 的长度都为零。
BasicStroke
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