2
在Swing中有高分辨率繪製的方法嗎? 我試圖繪製一個簡單的形狀,這些形狀的分辨率非常低。如何在Swing中以高分辨率繪製?
在Swing中有高分辨率繪製的方法嗎? 我試圖繪製一個簡單的形狀,這些形狀的分辨率非常低。如何在Swing中以高分辨率繪製?
你可能無法控制Swing中的分辨率,但是您可以使用呈現提示屬性從的Graphics2D來調整上呈現品質:
使用Graphics2D類呈現提示屬性來指定是否希望儘可能快地渲染對象,或者是否希望渲染質量儘可能高。
請嘗試關閉反鋸齒上。
public void paint(Color c, Polygon p, Graphics g){
Graphics2D g2d = (Graphics2D) g;
g2d.setRenderingHints(new RenderingHints(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
g2d.setColor(c);
g2d.fillPolygon(p);
}
還有更多的文檔here
'Graphics2D'默認渲染設置被設定得相當低,有針對性地對速度超過質量,可以通過爲[示例](HTTP的'RenderingHints' API調整這些: //stackoverflow.com/questions/13906687/how-can-i-smooth-my-jframe-shape/13906713#13906713),[示例](http://stackoverflow.com/questions/24621989/how-do-i -draw-an-image-in-the-shape-of-parallelogram/24622056#24622056),[example](http://stackoverflow.com/questions/25796572/simplest-code-to-round-corners-/-JABEL-in-java/25799019#25799019) – MadProgrammer
和[示例](http://stackoverflow.com/questions/25577856/rotating-ball-loses-sharpness-an d-顏色/ 25581053#25581053) – MadProgrammer