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)

    Next


    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
    1. Advertisements

  2. Nathan Sokalski

    Patrice Guest

    Patrice, Jun 28, 2005
    #2
    1. Advertisements

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

    Patrice Guest

    Patrice, Jun 29, 2005
    #4
    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.