`

关于Font.getFontMetrics方法

阅读更多
    今天要写一个给图片加文字水印的小应用,其中涉及到getFontMetrics这个方法,它用于描述字体对象的特征,查了一下它的构造函数(有两个):

public final FontMetrics getFontMetrics()

public final FontMetrics getFontMetrics( Graphics gr )

返回值是FontMetrics对象,该对象已被初始化为描述这个字体对象的基本字体。

需要说明的是,虽然字体对象维护的FontMetrics对象会包含请求的字体特性,但是,调用该方法后的对象可能会不匹配所设置的参数信息,出现这样的问题是因为有的字体信息是不可用的,我试了一下,自己新增的字体类,或者是框架外的字体信息在参数化时会出现异常哦。。

分享到:
评论

相关推荐

    linux下JFreeChart生成的图片乱码,可以用这个字体

    6. **使用Java的FontMetrics进行调整**:通过`Graphics2D`的`getFontMetrics`方法获取特定字体的测量信息,根据需要调整文本的位置和大小,以获得最佳的显示效果。 总的来说,解决JFreeChart在Linux下的中文乱码...

    JTable实现网页的编辑和删除按钮Demo.rar

    FontMetrics fm = g2d.getFontMetrics(font); int strWidth = fm.stringWidth("编辑"); int opSpacing = (width - strWidth) / 3; panel.setLayout(null); editLabel.setBounds(opSpacing, 0, ...

    java制作水印简单强大易学

    使用`java.awt.Font`创建字体,`java.awt.Color`设置颜色,透明度可以通过`Graphics2D`的`setAlpha()`方法调整。例如: ```java Graphics2D g2d = image.createGraphics(); g2d.setFont(new Font("Arial", Font....

    java随机动态生成汉字验证码图片

    Java提供了`java.awt.Font`类,可以通过`Font.createFont()`方法加载字体文件并调整大小。 3. **创建图片**:使用`java.awt.image.BufferedImage`类创建一个新的图片对象,设定其宽度和高度。验证码通常包含4-6个...

    计算机图形学 使用java2d对文本进行绘制 可以设置字体、大小、颜色、透明度、字符间距、行间距等属性

    通过修改`Font`构造函数中的大小参数,或者使用`Font.getSize()`和`Font.setSize()`方法,你可以调整字体的大小。 3. **颜色设定**:`Color`类提供了丰富的颜色选择。你可以用RGB值(如`new Color(255, 0, 0)`表示...

    用文字成图片的Bean

    g2d.drawString(text, (width - g2d.getFontMetrics().stringWidth(text)) / 2, (height + g2d.getFontMetrics().getHeight()) / 2); g2d.dispose(); ImageIO.write(image, "png", new File(outputPath)); } } ...

    水印 java Graphics2D实现文字图片水印

    Font font = new Font("Arial", Font.BOLD, 36); Color color = Color.WHITE; float alpha = 0.5f; // 添加水印并保存新图像 BufferedImage watermarkedImage = addWatermark(sourceImage, watermarkText, ...

    java 字体逐渐展开的效果

    g2d.drawString(text, 0, (getHeight() - g2d.getFontMetrics().getHeight()) / 2); } public void expand() { if (progress ) { progress += 1; // 控制字体展开的速度,数字越大,速度越慢 repaint(); // ...

    JAVA实现给图片增加图片水印或者文字水印

    - 文字水印:使用`Font`类创建自定义字体,`Graphics2D`对象的`drawString()`方法在新图像上绘制文字。 4. **合并水印与原图**: 创建一个新的`BufferedImage`对象,大小与原图相同,然后使用`Graphics2D`对象将...

    java 给图像加上字符串

    FontMetrics metrics = g2d.getFontMetrics(); int textWidth = metrics.stringWidth(text); int textHeight = metrics.getHeight(); // 在指定位置绘制文本 g2d.drawString(text, x, y + textHeight - ...

    图片工具类,生成文字图片(JAVA)

    FontMetrics fm = g2d.getFontMetrics(); int textWidth = fm.stringWidth(content); int textHeight = fm.getHeight(); // 计算文字的居中位置 int x = (width - textWidth) / 2; int y = (height - ...

    Android实现文字转图片

    float y = 50 + paint.getFontMetrics().descent - paint.getFontMetrics().ascent; // 文字起始y坐标,确保文字居中 canvas.drawText(text, x, y, paint); ``` 6. **保存图片到SD卡**:完成绘制后,将Bitmap保存到...

    绘制基线和字符串边框

    在Java中,我们可以利用`FontMetrics`类来获取关于字体和基线的信息。`FontMetrics`提供了如`getBaselineFor(char)`和`getAscent()`等方法,帮助我们确定文本的基线位置。例如,我们可以在绘制字符串前先计算出基线...

    JButton 美化(圆角矩形立体效果加鼠标响应)Demo.rar

    FontMetrics fm = g2d.getFontMetrics(boldFont); int textWidth = fm.stringWidth(btnText); int textAscent = fm.getAscent(); g2d.setColor(hoverColor); g2d.setFont(boldFont); g2d.drawString...

    java处理图片拼接和添加水印

    Apache Commons Imaging提供了一系列用于读取、写入和操作各种图像格式的方法,包括JPEG、PNG、GIF等。Java 2D API则是一个强大的图形处理框架,可以用于绘制图像、文本、形状等。 以下是一个简单的图片拼接示例,...

    java编程技巧.txt

    Font fx = new Font("TimesRoman", Font.PLAIN, 12).deriveFont(fontAT); g.setFont(fx); g.setColor(Color.blue); g.drawString(bottomText, xValueOfBottomText, height); ``` 此段代码展示了如何根据字体大小...

    java生成验证码

    FontMetrics metrics = g2d.getFontMetrics(); int x = (width - metrics.stringWidth(captchaCode)) / 2 + i * metrics.stringWidth(String.valueOf(c)) / 2; int y = (height - metrics.getHeight()) / 2 + ...

    jsp 验证码

    FontMetrics metrics = g.getFontMetrics(); g.drawString(String.valueOf(c), (metrics.stringWidth(code) / code.length()) * i++, 30); } g.dispose(); ImageIO.write(image, "jpg", response....

    jsp页面验证码实现

    FontMetrics fm = g2d.getFontMetrics(); int x = (width - fm.stringWidth(code)) / 2; int y = (height - fm.getHeight()) / 2 + fm.getAscent(); g2d.drawString(code, x, y); // 添加干扰元素 for (int ...

    java 文字垂直排列

    Java提供了多种类库用于处理文本,如`java.awt.Font`用于定义字体样式,`java.awt.Graphics2D`提供图形绘制功能,包括文字渲染。在Java Swing或JavaFX中,我们可以通过`JLabel`、`JTextArea`等组件来展示文本,但...

Global site tag (gtag.js) - Google Analytics