在我们日常工作和生活中,java编程语言的使用越来越普遍化。今天主要为大家展示如何用java做出立体的和倾斜的文字效果,并通过实例代码为大家展示。
首先,我们需要知道的是实现这些效果是通过重写JComponent类的paint()方法,在该方法中使用Graphics类或者Graphics2D的一些方法,完成具有特效的文字绘制。
第一种是立体效果的文字,使用Graphics类的setFont()方法设置完字体、字型和字号后,使用Graphics类的setColor()方法将绘图上下文的前景色设置为灰色,然后使用Graphics类的drawString()方法绘制文本,并且每次绘制的文本都向右下方移动一小段距离,最后将绘图上下文的前景色更改为黑色,再绘制一次文本,从而实现立体字效果。用到的Graphics方法如下:
public abstract void drawString(String str, int x, int y); //str是绘制的文本内容,x、y是绘制点的坐标 public abstract void setFont(Font font); //Font是字体对象,其创建方法即可设置字体和大小 public Font(String name, int style, int size); //Font的构造方法,其中name是字体的名称,style是字体的样式,size是字体的大小 public abstract void setColor(Color color); //color是文本或图形设置的颜色对象 public Color(int r, int g, int b); //Color 的构造方法,其中rgb是其对应的RGB值 //Color中有一些静态常量,所以除了创建对象外还可直接用Color.red等常量来设置颜色
具体实现如下:
public class SolidTextPanel extends JPanel { public void paint(Graphics g) { String value = "Java文字特效"; int x = 16; int y = 100; Font font = new Font("宋体", Font.BOLD, 72); g.setFont(font); g.setColor(Color.GRAY); int i = 0; while (i < 8) { g.drawString(value, x, y); x += 1; y += 1; i++; } g.setColor(Color.BLACK); g.drawString(value, x, y); } }
具体效果如下图:
第二种是倾斜效果的文字,使用Graphics2D类的setShear()方法,倾斜绘图上下文对象,然后使用从Graphics类继承的setFont()方法设置字体、字型和字号,使用drawString()方法绘制文本,从而实现倾斜文字的效果。
public abstract void shear(double shx, double shy); //shx,shy分别是在正x轴、正y轴方向移动坐标的乘数,可以作为相应y、x坐标的函数(注意是相反的)
具体实现如下:
public class ShearTextPanel extends JPanel { public void paint(Graphics g) { Graphics2D g2 = (Graphics2D) g; String value = "Java文字特效"; int x = 10; int y = 250; Font font = new Font("华文行楷", Font.BOLD, 72); g2.setFont(font); g2.shear(0.1, -0.4); g2.drawString(value, x, y); } }
具体效果如下图:
从上文我们可以了解到如何用java做出立体的和倾斜的文字效果。如果对java文字效果感兴趣,想要了解更多java基础,敬请关注奇Q工具网。
推荐阅读: