1
我畫了一個帶有特化筆劃的圓角矩形,然後我嘗試圍繞此矩形畫一條線 。但在邊緣它永遠不會真正匹配對方。用圓角矩形計算外線
g.setStroke(new BasicStroke(radius + .5f));
g.drawRoundRect(x + radius/2, y + radius/2, width - radius, height - radius, radius, radius);
// Outer border
g.setColor(outer);
g.setStroke(new BasicStroke(1));
g.drawRoundRect(x, y, width - 1, height - 1, radius, radius);
你知道如何計算外邊界半徑嗎?
好的,我嘗試了一下,我得到了一個更好的,但仍然不完美;
float scale = radius/2.0f;
g.setPaint(p);
g.setStroke(new BasicStroke(2 * scale));
g.drawRoundRect(x + radius/2, y + radius/2, width - radius, height - radius, radius, radius);
// Outer border
g.setColor(outer);
g.setStroke(new BasicStroke(1));
g.drawRoundRect(x, y, width - 1, height - 1, Math.round(4*scale), Math.round(4*scale));
有人有更好的嗎?
在這種情況下,我仍然有問題,邊界在邊緣有不同的蜱蟲。我剛添加了一段新的代碼,效果好得多,但並不完美。 – 2010-09-16 20:41:42
是的。那就是我所期望的。我不知道如何解決這個問題。您可以通過在每個內邊框像素旁邊填充外邊框來手動執行此操作。但是,這種方法涉及到並不完全是單線的柵格數據...... – aioobe 2010-09-16 21:10:26