Finding the leftmost pixel in a piece of text when using GDI+

Discussion in 'ASP .Net' started by Nathan Sokalski, Jun 28, 2005.

  1. I am using GDI+ to generate buttons in my application. Because I want the
    left and right edges of the buttons to be a certain number of pixels from
    the start and end of the text, I need to know (or be able to calculate) the
    left and rightmost pixels of the text. However, this is a problem because
    not all letters have their leftmost pixel at the same X position. For
    example, when using the following font:

    Dim buttonfont As New Font("Arial", 19, FontStyle.Bold, GraphicsUnit.Point)

    and using the following lines to draw text:

    For i As Integer = 65 To 90

    testgraphics.DrawString(Chr(i), buttonfont, Brushes.White, 0, 35 + (i - 64)
    * 20)


    The characters 'A' and 'J' start 2 pixels farther to the left than most
    other characters (there are also a couple other characters that are offset
    by 1 or 2 pixels). Is there any easy way to determine what X position the
    first and last pixel of a character is at? Because this depends on the font,
    the only way to do it manually would be to test each pixel. Is there a
    method that can be used to do this? Thanks.
    Nathan Sokalski, Jun 28, 2005
    1. Advertisements

  2. Nathan Sokalski

    Patrice Guest

    Patrice, Jun 28, 2005
    1. Advertisements

  3. Do you know of anywhere where I can see an example? Thanks.
    Nathan Sokalski, Jun 29, 2005
  4. Nathan Sokalski

    Patrice Guest

    Patrice, Jun 29, 2005
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.