java setshape 抗锯齿,Java8 中文教程

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);

下图说明了抗锯齿功能。

c219225d1d230f4e02bcf23afd6b8a5e.gif

如果使用不当,此方法会使文本显得过于模糊。在这种情况下,可以使用以下更好的提示:

graphics2D.setRenderingHint(

RenderingHints.KEY_TEXT_ANTIALIASING,

RenderingHints.VALUE_TEXT_ANTIALIAS_GASP);

此方法自动使用字体本身中的信息来决定是使用抗锯齿还是使用纯色。

LCD 显示器具有 Java 2D API 可用来产生文本的特性,该文本不像典型的抗锯齿那样模糊,但是在小尺寸时更容易辨认。若要请求在典型的 LCD 显示器上使用亚像素 LCD 文本 Pattern 绘制文本,应用程序必须调用以下命令:

graphics2D.setRenderingHint(

RenderingHints.KEY_TEXT_ANTIALIASING,

RenderingHints.VALUE_TEXT_ANTIALIAS_LCD_HRGB);

下面表示的代码示例按以下 Sequences 说明了抗锯齿功能:

抗锯齿功能已关闭。

抗锯齿功能已启用。

使用TEXT_ANTIALIAS_GASP提示进行抗锯齿。

Note:

因此,GASP 表指定仅使用这些大小的提示,而不使用“平滑”。因此,在许多情况下,结果文本显示等效于VALUE_TEXT_ANTIALIAS_OFF。

使用TEXT_ANTIALIAS_LCD_HRGB提示进行抗锯齿。

Note:

如果看不到 Servlets 正在运行,则需要至少安装Java SE 开发套件(JDK)7版本。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java8中,实现一个圆角窗口可以通过以下步骤完成: 1. 创建一个JFrame对象,并设置其Undecorated属性为true,这样就可以自定义窗口的外观。 2. 创建一个JPanel对象,并将其设置为JFrame的内容面板。 3. 通过setShape()方法将JFrame的形状设置为一个圆角矩形。需要创建一个Area对象,并使用RoundRectangle2D类的构造方法创建一个圆角矩形形状。 4. 在JPanel中添加窗口的内容。 下面是一个示例代码: ```java import java.awt.*; import java.awt.geom.*; import javax.swing.*; public class RoundedWindow extends JFrame { public RoundedWindow() { setUndecorated(true); setSize(400, 300); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JPanel panel = new JPanel(); panel.setLayout(new BorderLayout()); panel.setBackground(Color.WHITE); add(panel); // Create rounded rectangle shape Shape roundedRectangle = new RoundRectangle2D.Double(0, 0, getWidth(), getHeight(), 30, 30); // Set the window shape setShape(new Area(roundedRectangle)); setVisible(true); } public static void main(String[] args) { new RoundedWindow(); } } ``` 在上面的代码中,我们创建了一个名为RoundedWindow的类,该类继承自JFrame类。在RoundedWindow的构造函数中,我们首先将窗口的Undecorated属性设置为true,这样我们可以自定义窗口的外观。然后我们设置窗口的大小,并设置窗口关闭时的操作。 接下来,我们创建了一个JPanel对象,将其设置为JFrame的内容面板,并将其背景色设置为白色。然后我们创建了一个圆角矩形形状,并使用setShape()方法将JFrame的形状设置为圆角矩形。最后,我们将窗口显示出来。 这样,我们就成功地创建了一个圆角窗口。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值