2016-09-26 56 views
1

我試圖做一些非常簡單的圖紙,但我似乎不能得到我需要的結果。drawRect,fillRect,縮放比例不匹配

/* Draw Title Bar */ 
    int w = window.getWidth(); 
    int h = 10; 
    g2d.setColor(Color.blue); 

    BasicStroke stroke = new BasicStroke(1.0f,BasicStroke.CAP_BUTT, 
      BasicStroke.JOIN_MITER); 
    g2d.setStroke(stroke); 


    g2d.fillRect(window.getX(), 
      window.getY(), w, h); 



    /* Draw Window Border */ 
    g2d.setPaint(Color.blue); 
    g2d.drawRect(window.getX(), 
      window.getY()+h, 
      window.getWidth(), 
      window.getHeight()); 
    g2d.setColor(Color.red); 
    g2d.drawLine(window.getX(), 50, window.getX()+window.getWidth(), 50); 

隨着g2d.scale(2.0, 2.0)結果是這樣的:

enter image description here

它不排隊正確。當scale = 1.0時,它在左側正確地排列,但是在右側。這是一個縮放問題嗎?我知道fillRect和drawRect的邊緣是x+w+1/x+w但即使您爲此調整它仍然不正確對齊。

+0

如果你打算使用新穎的筆畫處理它 – gpasch

+0

1)爲了更好地提供幫助,可以發佈一個[MCVE]或[Short,Self Contained,Correct Example](http://www.sscce.org/) 。 2)顯示預期結果的圖形或圖像。 –

回答

0

除了填充上面的矩形 - 你也應該畫出它。正如你所看到的,他沒有邊界。

+0

這是誤導;他不需要自帶花哨的新圖書館和世界之神;他需要正確指定長度 – gpasch