473,327 Members | 1,997 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,327 software developers and data experts.

Fontsize difference

I am running a program to put a captcha image on my string and am trying to
make sure all the characters fit.

The problem is the size seems to be wrong.

What I am doing is starting from the rectangles' height + 1 (not sure why I
would use that as a starting point) then I loop through subtracting the
value by 1 until the size I get back from MeasureString is less than the
rectangle width.

I seem to be ending up with a string way to small.

The rectangle size is 200w * 50h.

When I use 50, I start losing characters on my display ( I am always using 7
and sometimes I will end up with 5 or 4 - not sure which routine is dropping
them - I assume it is my GraphicsPath.AddString that is doing it).

If I use 45, it always seems to work fine.

But if I run the loop and let the program figure it out it gets the
following:

After rect.width = 200 rect.height = 50
Inside do loop fontSize = 50 size.Width = 327.3979 rect.Width = 200
Inside do loop fontSize = 49 size.Width = 320.85 rect.Width = 200
Inside do loop fontSize = 48 size.Width = 314.3021 rect.Width = 200
Inside do loop fontSize = 47 size.Width = 307.7541 rect.Width = 200
Inside do loop fontSize = 46 size.Width = 301.2061 rect.Width = 200
Inside do loop fontSize = 45 size.Width = 294.6582 rect.Width = 200
Inside do loop fontSize = 44 size.Width = 288.1102 rect.Width = 200
Inside do loop fontSize = 43 size.Width = 281.5622 rect.Width = 200
Inside do loop fontSize = 42 size.Width = 275.0143 rect.Width = 200
Inside do loop fontSize = 41 size.Width = 268.4663 rect.Width = 200
Inside do loop fontSize = 40 size.Width = 261.9184 rect.Width = 200
Inside do loop fontSize = 39 size.Width = 255.3704 rect.Width = 200
Inside do loop fontSize = 38 size.Width = 248.8225 rect.Width = 200
Inside do loop fontSize = 37 size.Width = 242.2745 rect.Width = 200
Inside do loop fontSize = 36 size.Width = 235.7266 rect.Width = 200
Inside do loop fontSize = 35 size.Width = 229.1786 rect.Width = 200
Inside do loop fontSize = 34 size.Width = 222.6306 rect.Width = 200
Inside do loop fontSize = 33 size.Width = 216.0827 rect.Width = 200
Inside do loop fontSize = 32 size.Width = 209.5347 rect.Width = 200
Inside do loop fontSize = 31 size.Width = 202.9867 rect.Width = 200
Inside do loop fontSize = 30 size.Width = 196.4388 rect.Width = 200

30 is way less that the 45 that works.

Am I doing something wrong here? I am using the "Century Schoolbook" font.

Here is the code to test the size - the test is done just before the "while"
statement.

****************************************
float fontSize = rect.Height + 1;
Font font;
// Adjust the font size until the text fits within the image.
do
{
fontSize--;
font = new Font(this.familyName, fontSize, FontStyle.Bold);
size = g.MeasureString(this.text, font);
} while (size.Width > rect.Width);
***********************************************

Thanks,

Tom
Jun 16 '06 #1
0 909

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

4
by: Catherine Lynn Smith | last post by:
OK, I am learning my way around the new DOM, but I am still at a loss on finding a few things. I have an HTML document that links to a stylesheet. /* START STYLESHEET EXAMPLE */ /*...
2
by: toddaa | last post by:
I'm sorry if this has previously asked and answered. I have been searching for a while and have come up empty. I am trying to write a function which will return the font size attribute for the...
1
by: tshad | last post by:
I am running a program to put a captcha image on my string and am trying to make sure all the characters fit. The problem is the size seems to be wrong. What I am doing is starting from the...
4
by: jamesyreid | last post by:
Hi, I'm really sorry to post this as I know it must have been asked countless times before, but I can't find an answer anywhere. Does anyone have a snippet of JavaScript code I could borrow...
1
by: not_a_commie | last post by:
I want to take the FontSize from a System.drawing.Font type and turn that into a System.Windows.Controls FontSize. (Actually, I'd like to take the whole font over, but I didn't see any standard...
4
by: jnag | last post by:
Hello, Through an onClick() event, I have an inline function to change the font size of the page (actually, I need to do this for the entire website). I have this defined in the header.cfm file...
6
by: Adam Risser | last post by:
Hi, I am writing a function to change the font-size but I am running into a snag. I cannot get the current font-size of the body. Here is a link to a simplified test case ...
3
gomescoder
by: gomescoder | last post by:
HI TSDN Pals, I am trying to create an object to modify its colour, size, message attributes on the fly using OOP concept... Everything works fine with this code but the problem is the font...
3
by: menakavenkatesh | last post by:
i want simple coding for changing fontsize of the texbox
0
by: ryjfgjl | last post by:
ExcelToDatabase: batch import excel into database automatically...
1
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 6 Mar 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). In this month's session, we are pleased to welcome back...
0
by: Vimpel783 | last post by:
Hello! Guys, I found this code on the Internet, but I need to modify it a little. It works well, the problem is this: Data is sent from only one cell, in this case B5, but it is necessary that data...
0
by: jfyes | last post by:
As a hardware engineer, after seeing that CEIWEI recently released a new tool for Modbus RTU Over TCP/UDP filtering and monitoring, I actively went to its official website to take a look. It turned...
0
by: ArrayDB | last post by:
The error message I've encountered is; ERROR:root:Error generating model response: exception: access violation writing 0x0000000000005140, which seems to be indicative of an access violation...
1
by: CloudSolutions | last post by:
Introduction: For many beginners and individual users, requiring a credit card and email registration may pose a barrier when starting to use cloud servers. However, some cloud server providers now...
1
by: Shællîpôpï 09 | last post by:
If u are using a keypad phone, how do u turn on JavaScript, to access features like WhatsApp, Facebook, Instagram....
0
by: af34tf | last post by:
Hi Guys, I have a domain whose name is BytesLimited.com, and I want to sell it. Does anyone know about platforms that allow me to list my domain in auction for free. Thank you
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 3 Apr 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome former...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.