这是我的界面
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,它工作得很好,但是有一些白色凸起。
这是我的代码,用于在界面上添加、减法。
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));
}
}
}首先在这里画多边形不规则形状,然后在第一个形状内画下一个形状。
这里是输出结果:

如何去除这条白线,这条白线上升了两个区域加减后。这是第二个地区的边界之一。
发布于 2016-11-26 18:27:20
我得到了解决方案,我解决了问题,当我评论反混叠和质量渲染提示。
//g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
g2d.setRenderingHint(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY);https://stackoverflow.com/questions/40646981
复制相似问题