2016-11-17 4 views
0

は、ここに私のインターフェイス面積の加算と減算の後に白線が表示されるのはなぜですか?

package Tools; 

import java.awt.Color; 
import java.io.Serializable; 

/** 
* 
* @author DELL-PC 
*/ 
public interface ToolsModel extends Serializable { 

    public void setColor(Color color); 

    public Color getColor(); 

    public void setVisible(boolean b); 

    public boolean isVisible(); 

    public void setID(String id); 

    public String getID(); 

    public ToolsModel getShape(); 

} 

であると私は、このインターフェイスと、このインターフェイスからを使用して、いくつかの作成不規則な形をしていると私は、インターフェイス上でAdd.Subtractしたいし、それが正常に動作していますが、いくつかの白が発生します。
ここでは、Add、Subtractインターフェイスで使用されるコードを示します。

public void trimShade(ToolsModel toolsModel) { 
     System.out.println("I am at TrimShade"); 
     Area area = new Area(); 
     for (ToolsModel model : getShadeList()) { 
      if (model.equals(toolsModel) || model.getID().equals(toolsModel.getID())) { 
       continue; 
      } 
      area.add(new Area((Shape)model)); 
      if (!area.isEmpty()) { 
       ((Area) model).subtract(new Area((Shape)toolsModel)); 

      } 
     } 
    } 

最初に、多角形の不規則な形状を描画し、次に最初の形状の内側に次の形状を描画します。 2回の地域の加算と減算の後に上げ、この白い線を削除する方法
enter image description here
:ここ
は、出力結果です。これは、第2のエリアの境界線の1つです。

+1

1)すぐに役立つようにするには、[MCVE]または[短く、自己完結型の正しい例](http://www.sscce.org/)を投稿してください。 2)画像を取得する方法の1つは、[このQ&A](http://stackoverflow.com/q/19209650/418556)に表示されている画像にホットリンクすることです。 –

+0

私はあなたが画像上に描画していると仮定しています。そうであれば、これらの構成ラインが画像そのものではなくパネル上に描画されていることを確認する価値があるかもしれません。 – Chains

答えて

0

私は解決策を得ました。私はアンチエイリアシングと品質レンダリングのヒントをコメントするときに問題を修正しました。

//g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); 
    g2d.setRenderingHint(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY); 
関連する問題