所有类


java.awt
类 BasicStroke

java.lang.Object
  继承者 java.awt.BasicStroke
所有已实现的接口:
Stroke

public class BasicStroke
   
   
   
   
   
extends Object
implements Stroke

BasicStroke 类定义针对图形图元轮廓呈现属性的一个基本集合,这些图元使用 Graphics2D 对象呈现,而该对象的 Stroke 属性设置为此 BasicStroke。由 BasicStroke 定义的呈现属性描述了用画笔沿 Shape 的轮廓绘制的某个标记的形状,以及应用在 Shape 路径线段的末端和连接处的装饰。 这些呈现属性包括:

width
画笔的宽度,是垂直于画笔轨迹的测量值。
end caps
在未封闭子路径和虚线线段的末端应用的一些装饰。如果子路径没有 CLOSE 段,则在同一点上开始和结束的子路径仍被认为是未封闭的。关于 CLOSE 段的更多信息,请参阅 SEG_CLOSE。三个不同的装饰是:CAP_BUTTCAP_ROUNDCAP_SQUARE
line joins
在两个路径线段的交汇处,以及使用 SEG_CLOSE 封闭的子路径端点的交汇处应用的装饰。三个不同的装饰是:JOIN_BEVELJOIN_MITERJOIN_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 intCAP_BUTT
          无装饰地结束未封闭的子路径和虚线线段。
static intCAP_ROUND
          使用半径等于画笔宽度一半的圆形装饰结束未封闭的子路径和虚线线段。
static intCAP_SQUARE
          使用正方形结束未封闭的子路径和虚线线段,正方形越过线段端点,并延长等于线条宽度一半的距离。
static intJOIN_BEVEL
          通过直线连接宽体轮廓的外角,将路径线段连接在一起。
static intJOIN_MITER
          扩展路径线段的外边缘,直到它们连接在一起。
static intJOIN_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
 
方法摘要
 ShapecreateStrokedShape(Shape s)
          返回一个 Shape,它在内部定义了指定 Shape 的笔划轮廓。
 booleanequals(Object obj)
          测试指定对象与此 BasicStroke 是否相等,首先测试指定对象是否是一个 BasicStroke,然后将其宽度、连接、cap、斜接限制、虚线和虚线相位属性与 BasicStroke 的那些属性进行比较。
 voidfeedConsumer(sun.dc.path.PathConsumer consumer, PathIterator pi)
           
 float[]getDashArray()
          返回表示虚线线段长度的数组。
 floatgetDashPhase()
          返回当前虚线相位。
 intgetEndCap()
          返回端点的 cap 样式。
 intgetLineJoin()
          返回线条连接样式。
 floatgetLineWidth()
          返回线条的宽度。
 floatgetMiterLimit()
          返回斜接的限制。
 inthashCode()
          返回此笔划的哈希码。
 
从类 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