java graphics rotate_Java的Graphics2D的rotate这函数来旋转图片,转动后导致锯齿

在Java中使用Graphics2D的rotate方法旋转图片后,出现了明显的锯齿现象。通过设置RenderingHints以消除锯齿,但问题仍然存在,图片四角原本的圆形变为方形。代码示例展示了旋转操作,但并未有效解决变形问题。
摘要由CSDN通过智能技术生成

第一图是旋转了几次后的有锯齿,后面3副图是没有旋转的。代码如下:publicclasscoreRotateextendsJLabel{privatedoubletheta=0;protectedvoidpaintComponent(Graphicsg){System.out.p...

第一图是旋转了几次后的有锯齿,后面3副图是没有旋转的。代码如下:public class coreRotate extends JLabel { private double theta = 0; protected void paintComponent(Graphics g) { System.out.println("--------------11--------"); int w = this.getWidth(), h = this.getHeight(); double theta = Math.toRadians(this.theta); Graphics2D g2d = (Graphics2D) g; // 消除锯齿 RenderingHints renderingHints = new RenderingHints(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); renderingHints.put(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY); renderingHints.put(RenderingHints.KEY_FRACTIONALMETRICS, RenderingHints.VALUE_FRACTIONALMETRICS_ON); g2d.setRenderingHints(renderingHints); g2d.rotate(theta, w / 2, h / 2); super.paintComponent(g); } public void driveCore(double angle) { System.out.println("--------------33--------"); theta = angle; Graphics g=this.getGraphics(); this.paintComponent(g); }}

第一幅图旋转后不但导致锯齿,四边本来圆变成了看上去像方的,要怎么改呢?

展开

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值