Java Font Text Bounds getTextBounds(String text, Graphics2D g2, FontMetrics fm)

Here you can find the source of getTextBounds(String text, Graphics2D g2, FontMetrics fm)

Description

Returns the bounds for the specified text.

License

Open Source License

Parameter

Parameter Description
text the text ( null permitted).
g2 the graphics context (not null ).
fm the font metrics (not null ).

Return

The text bounds ( null if the text argument is null ).

Declaration

public static Rectangle2D getTextBounds(String text, Graphics2D g2, FontMetrics fm) 

Method Source Code

//package com.java2s;
/* =====================================================================
 * OrsonPDF : a fast, light-weight PDF library for the Java(tm) platform
 * =====================================================================
 * //  w w w .j  a  v a2s.c  o  m
 * (C)opyright 2013-2015, by Object Refinery Limited.  All rights reserved.
 *
 * Project Info:  http://www.object-refinery.com/orsonpdf/index.html
 * 
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 * 
 * [Oracle and Java are registered trademarks of Oracle and/or its affiliates. 
 * Other names may be trademarks of their respective owners.]
 * 
 * If you do not wish to be bound by the terms of the GPL, an alternative
 * commercial license can be purchased.  For details, please see visit the
 * Orson PDF home page:
 * 
 * http://www.object-refinery.com/orsonpdf/index.html
 * 
 */

import java.awt.FontMetrics;
import java.awt.Graphics2D;

import java.awt.geom.Rectangle2D;

public class Main {
    /**
     * Returns the bounds for the specified text.
     *
     * @param text  the text ({@code null} permitted).
     * @param g2  the graphics context (not {@code null}).
     * @param fm  the font metrics (not {@code null}).
     *
     * @return The text bounds ({@code null} if the {@code text}
     *         argument is {@code null}).
     */
    public static Rectangle2D getTextBounds(String text, Graphics2D g2, FontMetrics fm) {
        double width = fm.stringWidth(text);
        double height = fm.getHeight();
        return new Rectangle2D.Double(0.0, -fm.getAscent(), width, height);
    }
}

Related

  1. getTextBounds(final String text, final Graphics g, final Font font)
  2. getTextBounds(Graphics g, Font font, String text, int x, int y, int halign, int valign)
  3. getTextBounds(Graphics g, String text)
  4. getTextBounds(Graphics graphics, String text)
  5. getTextBounds(Graphics2D g, Font font, String text)
  6. getTextBox(Font font, FontRenderContext frc, boolean withLeading, String text)