转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的用法。
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....
BasicStroke stroke = new BasicStroke(2); g2d.setStroke(stroke); g2d.setColor(defUncheckedColor); g2d.drawRoundRect(2, 2, textHeight, textHeight, 10, 10); g2d.setFont(defFont); ...
g2d.setStroke(new BasicStroke(2,BasicStroke.CAP_ROUND,BasicStroke.JOIN_ROUND)); g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER,0.5f)); g2d.setRenderingHint(RenderingHints.KEY...
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); //用新的画刷...
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...
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); //用新的画刷绘制...
BasicStroke bs = new BasicStroke(2f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_BEVEL); // 创建一个供画笔选择线条粗细的对象 g2d.setStroke(bs); // 改变线条的粗细 g.setColor(Color.DARK_GRAY); // 设置...
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
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给圆角矩形外线条加粗... 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....
//实现ActionListener接口必须实现的方法 public void actionPerformed(ActionEvent evt){} //绘制图形 public void paint(Graphics g){ Graphics2D g2D = (Graphics2D)g; Insets insets = getInsets(); ...
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 享受几何...
第一步 导入依赖包 ...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
代码如下: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...
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; ...
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; ...