每日小结130928

1、绘制直线、矩形、椭圆等图形的两种代码

 (1)常用代码

g.drawLine(70, 50, 180, 50);
g.drawRect(30, 40, 80, 60); 
g.drawOval(30, 20, 80, 50);  

(2)另外一种代码

Graphics2D g2 = (Graphics2D)g; // 获得Graphics2D对象
Line2D.Float line = new Line2D.Float(50,50,240,50);// 创建直线对象 
g2.drawString("平头样式", 120, 40);  // 绘制文本
g2.draw(line);// 绘制直线
Rectangle2D.Float rect = new Rectangle2D.Float(20,60,80,50);// 创建矩形对象
g2.draw(rect);// 绘制矩形
Ellipse2D.Float ellipse=new Ellipse2D.Float(30, 20, 80, 50);//创建椭圆对象
g2.draw(ellipse);//绘制椭圆

 2、绘制多边形

int[] x1 = { 100,120,180,140,150,100,50,60,20,80 }; // 多边形的横坐标
int[] y1 = { 20,85,90,120,180,140,180,120,90,85 }; // 多边形的纵坐标
int n1 = 10;// 多边形的边数
 g.fillPolygon(x1, y1, n1);// 绘制多边形

 

3、绘制二次曲线

//强制转型为2D对象
Graphics2D g2=(Graphics2D)g;
//创建二次曲线,其中点120,40是控制点,点60,120是起始点坐标,点180,120是终点坐标
QuadCurve2D.Double quadCurve2 = new QuadCurve2D.Double(60,120,120,40,180,120);
g2.draw(quadCurve2); // 绘制二次曲线

 4、绘制三次曲线

Graphics2D g2=(Graphics2D)g;// 获得Graphics2D对象
// 创建三次曲线,其中点140,-140和点140,300是控制点,点20,80是起始点坐标,点260,80是终点坐标
 CubicCurve2D.Double cubicCurve = new CubicCurve2D.Double(20,80,140,-140,140,300,260,80);
g2.draw(cubicCurve); // 绘制三次曲线

 5、绘制文本

String value = "静夜思";
int x = 120;  // 文本位置的横坐标
int y = 30;  // 文本位置的纵坐标
g.drawString(value, x, y);   // 绘制文本

 6、设置字体

Font font1 = new Font("华文行楷", Font.BOLD + Font.ITALIC, 26); // 创建字体对象
g.setFont(font1); // 设置字体

 

7、设置粗细

Graphics2D g2 = (Graphics2D)g; // 获得Graphics2D对象
BasicStroke stroke = new BasicStroke(1); // 创建宽度是1的笔画对象
g2.setStroke(stroke);// 设置笔画对象

 

8、设置笔画样式

Graphics2D g2 = (Graphics2D)g; // 获得Graphics2D对象
BasicStroke stroke = new BasicStroke(10,BasicStroke.CAP_BUTT,BasicStroke.JOIN_BEVEL); // 创建宽度是10的平头笔画对象
g2.setStroke(stroke);// 设置笔画对象
Line2D.Float line = new Line2D.Float(50,50,240,50);// 创建直线对象
g2.drawString("平头样式", 120, 40);  // 绘制文本
g2.draw(line);// 绘制直线
stroke = new BasicStroke(10,BasicStroke.CAP_ROUND,BasicStroke.JOIN_BEVEL); // 创建宽度是10的圆头笔画对象
g2.setStroke(stroke);// 设置笔画对象
line = new Line2D.Float(50,90,240,90);// 创建直线对象
g2.drawString("圆头样式", 120, 80);  // 绘制文本
g2.draw(line);// 绘制直线
stroke = new BasicStroke(10,BasicStroke.CAP_SQUARE,BasicStroke.JOIN_BEVEL); // 创建宽度是10的方头笔画对象
g2.setStroke(stroke);// 设置笔画对象
line = new Line2D.Float(50,130,240,130);// 创建直线对象
g2.drawString("方头样式", 120, 120);  // 绘制文本
g2.draw(line);// 绘制直线

 结果示意图:


每日小结130928
 9、设置连接方式

            Graphics2D g2 = (Graphics2D)g; // 获得Graphics2D对象
            BasicStroke stroke = new BasicStroke(10,BasicStroke.CAP_BUTT,BasicStroke.JOIN_BEVEL); // 创建宽度是10的平头斜角连接笔画对象
            g2.setStroke(stroke);// 设置笔画对象
            Rectangle2D.Float rect = new Rectangle2D.Float(20,60,80,50);// 创建矩形对象
            g2.drawString("斜角连接", 35, 50);  // 绘制文本
            g2.draw(rect);// 绘制矩形
            stroke = new BasicStroke(10,BasicStroke.CAP_BUTT,BasicStroke.JOIN_MITER); // 创建宽度是10的平头尖角连接笔画对象
            g2.setStroke(stroke);// 设置笔画对象
            rect = new Rectangle2D.Float(120,60,80,50);// 创建矩形对象
            g2.drawString("尖角连接", 135, 50);  // 绘制文本
            g2.draw(rect);// 绘制矩形
           stroke = new BasicStroke(10,BasicStroke.CAP_BUTT,BasicStroke.JOIN_ROUND); // 创建宽度是10的平头圆角连接笔画对象
            g2.setStroke(stroke);// 设置笔画对象
            rect = new Rectangle2D.Float(220,60,80,50);// 创建矩形对象
            g2.drawString("圆角连接", 235, 50);  // 绘制文本
            g2.draw(rect);// 绘制矩形

 结果示意图:


每日小结130928
 10、缩放图形

g2.scale(1.3, 1.3);// 放大1.3倍
g2.draw(rect);// 绘制矩形

 

11、旋转图形

 

 g2.rotate(0.2);// 顺时针旋转
g2.draw(rect);// 绘制矩形

 12、斜切图形

g2.shear(0.2,0.2);// 向下斜切
g2.draw(rect);// 绘制矩形

 13、为图形填充渐变色

            // 创建循环渐变的GraphientPaint对象
            //x1 - 用户空间中第一个指定 Point 的 x 坐标
//            y1 - 用户空间中第一个指定 Point 的 y 坐标
//            color1 - 第一个指定 Point 处的 Color
//            x2 - 用户空间中第二个指定 Point 的 x 坐标
//            y2 - 用户空间中第二个指定 Point 的 y 坐标
//            color2 - 第二个指定 Point 处的 Color
//            cyclic - 如果渐变模式在两种颜色之间重复循环,则为 true;否则为 false。

            GradientPaint paint = new GradientPaint(20,20,Color.BLUE,100,80,Color.RED,true);
            g2.setPaint(paint);// 设置渐变
            g2.fill(rect);// 绘制矩形

 

结果示意图:


每日小结130928
 

你可能感兴趣的:(小结)