默认
发表评论 6
想开发IM:买成品怕坑?租第3方怕贵?找开源自已撸?尽量别走弯路了... 找站长给点建议
[已解决] swing裁剪区域如何抗锯齿
阅读(29275) | 评论(6 收藏 淘帖
Graphics2D g2d = (Graphics2D)g;
g2d.setColor(Color.GRAY);
g2d.setStroke(new BasicStroke(2));
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
g2d.clip(new Ellipse2D.Float(0, 0, 84, 84));

即时通讯网 - 即时通讯开发者社区! 来源: - 即时通讯开发者社区!

上一篇:java Swing jtable 操作,设置图片显示(源码下载)下一篇:JTextField可以设置输入位置吗
推荐方案
评论 6
Java2D里反走样抗锯齿就是类似于以下代码,我通常会提炼成这个样子,在绘制之前设为true表示打开搞锯齿,绘制完成后再调用一次(设置成false)表示恢复之前的设置,否则以后的所有绘制都会开启抗锯齿,这就不对了。
         /**
         * 图形绘制反走样设置.
         *
         * @param g2 the g2
         * @param antiAliasing 是否反走样
         */
        public static void setAntiAliasing(Graphics2D g2 ,boolean antiAliasing)
        {
                if(antiAliasing)
                        g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING
                                        , RenderingHints.VALUE_ANTIALIAS_ON);
                else
                        g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING
                                        , RenderingHints.VALUE_ANTIALIAS_OFF);
        }

类似于下面这样调用:
public static void fillTextureRoundRec(Graphics2D g2,Color baseColor
                    ,int x,int y,int w,int h,int arc,int colorDelta)
{
        setAntiAliasing(g2, true);
        //矩形填充
        Paint oldpaint = g2.getPaint();
        GradientPaint gp = new GradientPaint(x, y
                      //渐变的起色比止色RGB浅35
                     ,getColor(baseColor, colorDelta, colorDelta, colorDelta),x, y+h,baseColor);
        g2.setPaint(gp);
        g2.fillRoundRect(x, y, w, h,arc,arc);
        g2.setPaint(oldpaint);
        setAntiAliasing(g2, false);
}

引用:JackJiang 发表于 12-31 14:38
Java2D里反走样抗锯齿就是类似于以下代码,我通常会提炼成这个样子,在绘制之前设为true表示打开搞锯齿,绘 ...

我是裁剪,然后我的代码跑完后出现锯齿了
引用:king6120 发表于 12-31 15:03
我是裁剪,然后我的代码跑完后出现锯齿了

你的意思是你的clip区有锯齿?
引用:JackJiang 发表于 12-31 15:08
你的意思是你的clip区有锯齿?

是的,用了clip后出现锯齿了
引用:king6120 发表于 12-31 15:09
是的,用了clip后出现锯齿了

你去看看这个例子:http://download.csdn.net/detail/raistlic/5054386
引用:JackJiang 发表于 12-31 15:17
你去看看这个例子:http://download.csdn.net/detail/raistlic/5054386

我现在就是这么弄的,我还想问下怎么设置JTextField字体显示的位置
打赏楼主 ×
使用微信打赏! 使用支付宝打赏!

返回顶部