如何用多边形绘制云?

时间:2013-12-04 13:34:22

标签: java swing drawing polygon

在我的课程笔记中,我的讲师解释了如何制作三角形,但这是关于解释结束的地方。我需要绘制一个云,所以有没有办法让边缘变圆?或者有更好的方法来解决这个问题吗?

package polygon;

import java.awt.Color;
import java.awt.Graphics;
import java.awt.Polygon;

public class PanelPoly extends javax.swing.JPanel {

   int[] xWaarden = {100,210,360};
   int[] yWaarden = {170,60,170};
   Polygon triangle = new Polygon(xWaarden, yWaarden,xWaarden.length);

   public PanelPoly() {

   }

   public void paintComponent(Graphics g){
       super.paintComponent(g);
       g.setColor(Color.BLACK);
       g.fillPolygon(triangle);
   }


    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
    private void initComponents() {

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
        this.setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 400, Short.MAX_VALUE)
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 300, Short.MAX_VALUE)
        );
    }// </editor-fold>                        
    // Variables declaration - do not modify                     
    // End of variables declaration                   
}

1 个答案:

答案 0 :(得分:2)

您可以使用java.awt.geom.Area。从多个椭圆创建多个区域并组织圆的交叉点。

或者你可以看到Polygon圆角。例如,参见此处http://java-sl.com/shapes.html的来源,有关开始和常规多边形的信息,有一种方法可以围绕它们的角度。

这是如何组合2个椭圆http://java-sl.com/tip_flatteningpathiterator_moving_shape.html

的简单示例