title: How to draw a diamond shape in java?
body: <p>So i have to draw a diamond shape. Not a Static diamond but a  diamond that i will myself drag and draw. I've used General Path to do it but it is drawing a diamond that is not straight; the diamond is bend to the left and it's not being drawn to where my mouse is pointed.</p>
  
  <p><img src="https://i.stack.imgur.com/a6GMi.png" alt="enter image description here"></p>
  
  <p>Here is my code to create the diamond shape. Can someone please help me solve this? </p>
  
  <p><div class="snippet" data-lang="js" data-hide="false" data-console="false" data-babel="false">
  <div class="snippet-code">
  <pre class="snippet-code-html lang-html prettyprint-override"><code> private GeneralPath drawDiamond(int x1, int y1, int x2, int y2){
              
              int x = Math.min(x1, x2);
              int y = Math.min(y1, y2);
  
              // Gets the difference between the coordinates and
  
              int width = Math.abs(x1 - x2);
              int height = Math.abs(y1 - y2);
              
              Rectangle2D.Double diamond = new Rectangle2D.Double(x1,y1,width,height);
              
              GeneralPath connectedDiamond = new GeneralPath(GeneralPath.WIND_EVEN_ODD);
              
              connectedDiamond.append(diamond, true);
              
              AffineTransform at = new AffineTransform();
              at.rotate(Math.toRadians(20));
              connectedDiamond.transform(at);
              
              return connectedDiamond;
          }</code></pre>
  </div>
  </div>
  </p>
  
  <p>Here is my paint method:</p>
  
  <p><div class="snippet" data-lang="js" data-hide="false" data-console="false" data-babel="false">
  <div class="snippet-code">
  <pre class="snippet-code-html lang-html prettyprint-override"><code>public void paint(Graphics g) {           
  
              graphSettings = (Graphics2D) g;           
  
              graphSettings.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
                      RenderingHints.VALUE_ANTIALIAS_ON);
  
              graphSettings.setStroke(new BasicStroke(4));
             
              Iterator&lt;Color&gt; strokeCounter = shapeStroke.iterator();
              for (NamedShape s : shapes) {
  
                  graphSettings.draw(s.getShape());
  
              }
  
              if (drawStart != null &amp;&amp; drawEnd != null) {
                  
                  graphSettings.setComposite(AlphaComposite.getInstance(
                          AlphaComposite.SRC_OVER, 0.40f));
  
                  graphSettings.setPaint(Color.LIGHT_GRAY);
  
                  Shape aShape = null;
                      
                  if(currentAction == 7){
                      
                      aShape = drawDiamond(drawStart.x, drawStart.y, drawEnd.x, drawEnd.y);
                  }
  
                  graphSettings.draw(aShape);
              }
          }</code></pre>
  </div>
  </div>
  </p>
  
  <p>Can someone please help me to do this?</p>