|
-
Dec 28th, 2010, 08:04 PM
#1
[RESOLVED] Font Scaling re-opened
My day is done, so I figured I might as well ask a question about the last thing I was working on. There has to be a better way to do this than what I am seeing. Here's the problem:
I have a picturebox that has an image on it. The user will be able to draw rectangles on that image, and the rectangle will have a string drawn into it. Frankly, I have no idea about the shape or size of these rectangles except to say that they will have a "reasonable" size to them. What I am trying to figure out is how best to draw the string inside the rectangle. Obviously, the size of the string is determined by the font, and I can measure this size with MeasureString in the Paint event for the PB. The size of the string as drawn must be less than the size of the rectangle such that the string fits entirely within the rectangle.
The problem is that MeasureString takes a font so that the size of the string can be determined in that font. That seems to require that I create a new font object, measure the string in that font, check to see that it is less than the width of the rectangle (don't have to worry about the height), and if the string is too big, reduce the size of the font and try again. This seems to have the potential to create and destroy plenty of font objects for the sole purpose of checking sizes. Is there a better way? How about a method that figures the maximum font size that can be used to get a string of pixel length X?
The second half of this problem is something I haven't even begun looking at yet, but somebody has probably got an answer that will save me some time, so I'll toss it out here:
It is possible that my rectangles will be high and narrow, in which case few strings will fit horizontally in the rectangle, so I might as well draw them vertically. Is there an easy way to draw text vertically rather than horizontally?
Last edited by Shaggy Hiker; Jan 3rd, 2011 at 07:24 PM.
My usual boring signature: Nothing
 
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|