- 设置画笔 默认情况下,Graphics绘图类 使用的画笔属性是粗细为I个像素的正方形,而Graphics2D类可以调用 setStroke()方法 设置画笔的属性,如改变线条的粗细、虚实和定义线段端点的形状、风格等。setStroke()方法 语法:
setStroke(stroke stroke);
// stroke:是Stroke接口的实现类
setStroke()方法 必须接受一个 Stroke接口 的实现类作参数, java.awt包中提供了BasicStroke类,它实现了Stroke接口,并且通过不同的构造方法创建画笔属性不同的对象。BasicStroke类 的构造方法:
BasicStroke();
BasicStroke(float width); //设置画笔宽度
BasicStroke(float width , int cap , int join); //设置画笔宽度、末端效果、交汇效果
BasicStroke(float width , int cap , int join , float miterlimit); //设置画笔宽度、末端效果、交汇效果、斜切处的剪裁限制
BasicStroke(float width , int cap , int join , float miterlimit , float[] dash , float dash_phase); //设置画笔宽度、末端效果、交汇效果、斜切处的剪裁限制、虚线模式的数组、虚线模式的偏移量
/*
cap参数的三个常量:
圆角:BasicStroke.CAP_ROUND
无修饰:BasicStroke.CAP_BUTT
正方形:BasicStroke.CAP_SQUARE
join参数的三个常量:
平角:BasicStroke.JOIN_BEVEL
尖角:BasicStroke.JOIN_MITER
圆角:BasicStroke.JOIN_ROUND
*/
设置画笔 实例:
import javax.swing.*;
import java.awt.*;
public class Demo2 extends JFrame {
public Demo2(){
super();
init();
}
public void init(){
this.setSize(300, 200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
add(new MyCanvas());
}
public static void main(String[] arge){
new Demo2().setVisible(true);
}
class MyCanvas extends Canvas {
public void paint(Graphics g){
Graphics2D g2 = (Graphics2D) g;
// 直线
Stroke stroke = new BasicStroke(8); //设置画笔宽度
g2.setStroke(stroke); //加载画笔
g2.drawLine(20, 30, 120, 30);
// 多边线
int x[] = {150,200,180};
int y[] = {30,30,80};
/*
末端效果:
圆角:BasicStroke.CAP_ROUND
无修饰:BasicStroke.CAP_BUTT
正方形:BasicStroke.CAP_SQUARE
角的交汇效果:
平角:BasicStroke.JOIN_BEVEL
尖角:BasicStroke.JOIN_MITER
圆角:BasicStroke.JOIN_ROUND
*/
Stroke stroke1 = new BasicStroke(12,BasicStroke.CAP_SQUARE,BasicStroke.JOIN_ROUND); //设置画笔宽度、末端效果、角的交汇效果
g2.setStroke(stroke1); //加载画笔
g2.drawPolyline(x,y,3);
}
}
}
设置画笔 实例输出结果:
Original: https://www.cnblogs.com/TeaTracing/p/16320700.html
Author: TeaTracing
Title: 设置颜色与画笔
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/622455/
转载文章受原作者版权保护。转载请注明原作者出处!