I have the following code:
private _x,_y,_w,_h;
protected void paintComponent( Graphics g_ ) {
g_.setStroke( new BasicStroke(2) );
g_.drawLine(_x, _y, _x+_w, _y+_h);
g_.drawLine(_x, _y+_h, _x+_w, _y);
}
在我的情况下,我正在画一个正方形的对角线,所以:_w == _h。
我的问题是这两条线的表面厚度不同:第一条线看起来比第二条线粗。当检查实际绘制的像素时,渲染的差异如下所示:
我并不真的在乎哪个应该被认为是“正确”的(虽然我想了解这个结果的原因),但我希望有些连贯性,在这里两条线都有相同的渲染:我该怎么做?
(当我使用1px描边时,两条线之间没有区别)。
关于Olavi的回答的后续:
使用奇数像素的描边并不能解决问题:
启用抗锯齿会导致另一个问题:在绘制十字架的正方形的描边变模糊了。