java 画图板 锯齿_java 绘图,平滑抗锯齿

Java 2D 文本渲染可以通过渲染提示进行调整。

看一下下面的文本绘制方法:

Graphics.drawString(String s, int x, int y);

通常,这个方法使用实心颜色绘制文本字符串中的每个字符,同时字符中的每个像素都被填充那个颜色。这种绘制会带来很高的文本对比度,但有时会由锯齿状边缘。文本抗锯齿是用来平滑屏幕中文本边缘的技术。Java 2D API可以让应用程序制定是否使用这项技术,以及作用于Graphics的渲染提示算法。

最常用的渲染提示是在文本的边缘混合前景和背景颜色。要在应用程序中请求这种提示,必须用下面的方法:

graphics2D.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING,

(RenderingHints.VALUE_TEXT_ANTIALIAS_ON);

下图展示了抗锯齿的功能。

如果滥用这个方法,会导致文本展示过度的模糊。这种情况下,更好的渲染提示如下:

graphics2D.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING,

(RenderingHints.VALUE_TEXT_ANTIALIAS_GASP);

这个方法自动的使用字体中的信息决定是否使用抗锯齿或使用实心颜色。

LCD展示是一个属性,Java 2D API可以用它创建不是很模糊的抗锯齿文本,但在小字体时又能清晰展示。要使用这种绘制方式,需要使用以下代码:

graphics2D.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING,

(RenderingHints.VALUE_TEXT_ANTIALIAS_LCD_HRGB);

下面的代码展示了以下三种抗锯齿功能:

1.     抗锯齿关闭。

2.     抗锯齿开启。

3.     使用TEXT_ANTIALIAS_GASP提示。 4.     使用TEXT_ANTIALIAS_LCD_HRGB提示。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值