[英]Java Swing: Graphics2D rotation creating disgusting edges
我在旋轉圖像時遇到問題
Graphics2D g2 = (Graphics2D) g;
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS_ON);
AffineTransform at = new AffineTransform();
at.setToIdentity();
at.translate(x, y);
at.rotate(Math.toRadians(angle));
g2.transform(at);
image.paintIcon(c, g2);
我在繪畫之前使用此代碼旋轉圖片(image是我創建的用於幫助處理圖片加載的類。
不幸的是,我的圖像邊緣出現問題,變得非常糟糕(參見圖片)
有什么想法可以改善抽獎的質量嗎?
傑森
嘗試使用抗鋸齒邊緣和雙線性變換怎么辦? 您可以在此處查看示例。 還要檢查您的圖像類型,該示例使用BufferedImage
。
g2.setRenderingHint(RenderingHints.KEY_INTERPOLATION,
RenderingHints.VALUE_INTERPOLATION_BILINEAR);
從我記得,最優質的渲染將通過開啟抗鋸齒(你已經做了),設置插值來驅動VALUE_INTERPOLATION_BICUBIC
和設置渲染VALUE_RENDER_QUALITY
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.