`

BasicStroke的用法【转】

 
阅读更多

http://momsbaby1986.iteye.com/blog/1462901

 

 1.     基本概念

JAVA 2D开发中,BasicStroke用于定义线条的特征,我们可以调用Graphics2D类中的setStroke方法来将新创建的BasicStroke对象设置进去。BasicStroke的构造方法如下所示:

 

 

 

对图形的一些专业名词不熟悉的程序员来说,想要根据API说明文档来理解这个方法的使用,实在有点过于困难了,所以,在这里整理了一下,便于大家理解。

 

2.     构造方法参数说明

2.1  width

这个参数最容易理解,表示线条的宽度

2.2  cap

只能取三个值:CAP_BUTT, CAP_ROUND or CAP_SQUARE,表示不同的线端。

 

意思如下:

 

 

 

2.3  join

这个参数表示当两条线连接时,连接处的形状,可以取JOIN_ROUND, JOIN_BEVEL, or JOIN_MITER三个值。

 

意思如下:

  

2.4  miterlimit

当你使用JOIN_MITER这种策略来表示连接处形状的时候,由于两根线的连接角度可能很小,那么,就会导致延伸出来的那个角特别长!本参数用来限制那个尖角的最大长度!当你使用JOIN_MITER策略的时候,本参数必须大于1,本参数的默认值是10.0f 

 

2.5  dash[]

画虚线的时候,使用这个参数,虚线是由:“线+缺口+线+缺口+线+缺口……”来组成的。所以本参数就是定义的这些线、缺口的长度:{线的长度,缺口的长度,线的长度,缺口的长度……}

2.6  dash_phase

最后一个参数是跟dash[]这个数组配合的参数,表示在画虚线的时候,从一定的偏移量处开始画。

下面这个图,统一说明了dash[]dash_phase的意思:

 

分享到:
评论

相关推荐

    BasicStroke的用法.doc

    BasicStroke的用法。

    java用画图做IconDemo.rar

    BasicStroke stroke = new BasicStroke(3); g2d.setStroke(stroke); g2d.drawRoundRect(3, 3, 30 - 6, 30 - 6, 5, 5); stroke = new BasicStroke(1); g2d.setStroke(stroke); g2d....

    java自定义复选框样式Demo

    BasicStroke stroke = new BasicStroke(2); g2d.setStroke(stroke); g2d.setColor(defUncheckedColor); g2d.drawRoundRect(2, 2, textHeight, textHeight, 10, 10); g2d.setFont(defFont); ...

    java JTextField美化Demo

    g2d.setStroke(new BasicStroke(2,BasicStroke.CAP_ROUND,BasicStroke.JOIN_ROUND)); g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER,0.5f)); g2d.setRenderingHint(RenderingHints.KEY...

    Java绘图:绘制虚线与实线.rar

      BasicStroke bs = new BasicStroke(1,BasicStroke.CAP_BUTT,BasicStroke.JOIN_MITER, 10.0f,dash,0.0f); //实例化新画刷   g2.setStroke(bs); //设置新的画刷   g2.drawLine(40,160,100,120); //用新的画刷...

    java圆角矩形边框消除锯齿Demo.rar

    BasicStroke stroke = new BasicStroke(4); g2d.setStroke(stroke); g2d.drawRoundRect(0, 0, 400, 120, 40, 40); g2d.dispose(); g2d = (Graphics2D) g; Image imgScale = image.getScaledInstance...

    Java绘制图形和线段(实线和虚线).rar

      BasicStroke bs = new BasicStroke(1,BasicStroke.CAP_BUTT,BasicStroke.JOIN_MITER, 10.0f,dash,0.0f); //实例化新画刷   g2.setStroke(bs); //设置新的画刷   g2.drawLine(40,160,100,120); //用新的画刷绘制...

    基于SpringMVC annotation 的图形验证码

    BasicStroke bs = new BasicStroke(2f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_BEVEL); // 创建一个供画笔选择线条粗细的对象 g2d.setStroke(bs); // 改变线条的粗细 g.setColor(Color.DARK_GRAY); // 设置...

    JSP随机验证图片如何制作

    import java.awt.BasicStroke; import java.awt.Color; import java.awt.Font; import java.awt.Graphics2D; import java.awt.RenderingHints; import java.awt.geom.Line2D; import java.awt.image.BufferedIm

    java编辑器

    x=(int)(r*0.9*Math.cos(RAD*ss))+x0;  y=(int)(r*0.9*Math.sin(RAD*ss))+y0-2*T;  g.setColor(Color.yellow);... g2D.setStroke(new BasicStroke(2.2f));    if(old_m!=mm){  g.setColor(getBackground());

    java给圆角矩形外线条加粗Demo.rar

    java给圆角矩形外线条加粗... BasicStroke stroke= new BasicStroke(5); Graphics2D g2d=(Graphics2D)g; g2d.setStroke(stroke); g2d.setColor(Color.BLUE); g2d.drawRoundRect(10, 10, 200, 80, 20, 20); }

    会呼吸、带有玫瑰花的爱心告白程序

    全网最漂亮的爱心告白程序,使用Java语言,不到200行代码用就能做出以下效果: - 爱心+玫瑰花双重叠加的效果,更具美感 - 告白信封的样式,更具告白仪式感 - 会呼吸的爱心,更有心动的感觉 示例代码: this....

    java钟表时钟显示时间

    //实现ActionListener接口必须实现的方法 public void actionPerformed(ActionEvent evt){} //绘制图形 public void paint(Graphics g){ Graphics2D g2D = (Graphics2D)g; Insets insets = getInsets(); ...

    Java2游戏编程.pdf

    7.7.2 BasicStroke类 7.7.3 Paint接口 7.7.4 混合处理 7.8 处理文本 7.8.1 创建并画出文本 7.8.2 衍生字体 7.8.3 获取字体量度 7.9 总结 7.10 练习 第8章 用Java 2-D来绘制图形、文字和图像(第二部分) 8.1 享受几何...

    Java生成二维码

    第一步 导入依赖包 ...import java.awt.BasicStroke; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.Image; import java.awt.Shape; import java.awt.geom.RoundRectangle2D

    Java打印和打印预览机制实例代码

    代码如下:import java.awt.BasicStroke;import java.awt.BorderLayout;import java.awt.Color;import java.awt.Component;import java.awt.Dimension;import java.awt.Font;import java.awt.FontMetrics;import java...

    JSP + Servlet实现生成登录验证码示例

    import java.awt.BasicStroke; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.geom.AffineTransform; import java.awt.geom.Line2D; ...

    Android 获取随机验证码功能示例

    import java.awt.BasicStroke; import java.awt.Color; import java.awt.Font; import java.awt.Graphics2D; import java.awt.image.BufferedImage; import java.io.IOException; import java.io.OutputStream; ...

Global site tag (gtag.js) - Google Analytics