Graphics.MeasureCharacterRanges Giving Wrong Size Calculations In C#.Net?

Apr 21, 2010

I'm trying to render some text into a specific part of an image in a Web Forms app. The text will be user entered, so I want to vary the font size to make sure it fits within the bounding box.

I have code that was doing this fine on my proof-of-concept implementation, but I'm now trying it against the assets from the designer, which are larger, and I'm getting some odd results.

I'm running the size calculation as follows:

StringFormat fmt = new StringFormat();
fmt.Alignment = StringAlignment.Center;
fmt.LineAlignment = StringAlignment.Near;
fmt.FormatFlags = StringFormatFlags.NoClip;
fmt.Trimming = StringTrimming.None;


Now I have two problems.

Firstly, the text sometimes insists on wrapping by inserting a line-break within a word, when it should just fail to fit and cause the while loop to decrement again. I can't see why it is that Graphics.MeasureCharacterRanges thinks that this fits within the box when it shouldn't be word-wrapping within a word. This behaviour is exhibited irrespective of the character set used (I get it in Latin alphabet words, as well as other parts of the Unicode range, like Cyrillic, Greek, Georgian and Armenian). Is there some setting I should be using to force Graphics.MeasureCharacterRanges only to be word-wrapping at whitespace characters (or hyphens)? This first problem is the same as post 2499067.

Secondly, in scaling up to the new image and font size, Graphics.MeasureCharacterRanges is giving me heights that are wildly off. The RectangleF I am drawing within corresponds to a visually apparent area of the image, so I can easily see when the text is being decremented more than is necessary. Yet when I pass it some text, the GetBounds call is giving me a height that is almost double what it's actually taking.

Using trial and error to set the __minimumSize to force an exit from the while loop, I can see that 24pt text fits within the bounding box, yet Graphics.MeasureCharacterRanges is reporting that the height of that text, once rendered to the image, is 122px (when the bounding box is 64px tall and it fits within that box). Indeed, without forcing the matter, the while loop iterates to 18pt, at which point Graphics.MeasureCharacterRanges returns a value that fits.

The trace log excerpt is as follows:

Decrementing font size to 24, as size is 193×122 and limit is 212×64
Decrementing font size to 23, as size is 191×117 and limit is 212×64
Decrementing font size to 22, as size is 200×75 and limit is 212×64
Decrementing font size to 21, as size is 192×71 and limit is 212×64
Decrementing font size to 20, as size is 198×68 and limit is 212×64
Decrementing font size to 19, as size is 185×65 and limit is 212×64
Writing VENNEGOOR of HESSELINK in DIN-Black at 18pt, size is 178×61 and limit is 212×64

So why is Graphics.MeasureCharacterRanges giving me a wrong result? I could understand it being, say, the line height of the font if the loop stopped around 21pt (which would visually fit, if I screenshot the results and measure it in Paint.Net), but it's going far further than it should be doing because, frankly, it's returning the wrong damn results.

View 2 Replies

Similar Messages:

Web Forms :: ImageUrl Giving Wrong Path?

Aug 27, 2010

I'm working on an auto-fill feature for a form. Everything works perfectly except for filling in an image beside a file upload control. I know you can't set an upload control, so I'm setting the imageurl with the path and using that instead. The problem is, when I add the path in the code behind, it's messing up the space character (%20) in the path.

for example what should be:


Here's the relevant code: [Code]....and here's the path as is in the database:

S:/Projects/Bulletin_Mugs/CBProject/Brown, john 12-11-1981.png

View 6 Replies

Security :: Log In Giving Wrong Destination Page?

Sep 9, 2010

I have a log in control that has this set in the aspx:

View 2 Replies

State Management :: Data Being Saved To Wrong Table In Wrong Instance Of Sqlserver Of Wrong Database?

Aug 1, 2010

I have a weird thing happening. I have two identical databases installed on one virtual machine but under two different instances of SQLServer. For some reason, periodically when saving from one it will save to the other instead. Using debug, I have verified that the connection string is correct and when the item saves, it still saves to the wrong database.I use session variable, and am of the belief that it might have something to do with it...and t hat when I go from one to the other it is still getting the connection string form the other for some reason.To make sure that it isn't a problem, I make sure that I completely close out one database before opening the other in a new IE window.I assume that when I completely close out an internet explorer window that it abandons all session states. Is that true?

View 7 Replies

ADO.NET :: Data Saving To Wrong Database On Wrong Instance Of Sqlserver

Aug 1, 2010

I have a very weird thing happening. I have two databases that have exactly the same tables but different database names on the same virtual machine, but in different instances of SQL Server. For some reason, when using one of them, it will save to the other. In debug, looking at my connection string..I have verified that it is correct, yet when I allow the save, I look in the table and it isn't there, it is in the other database that is in a table with a completely different name and in a different instance of SQL Server.

View 1 Replies

How To Use For 2d Interactive Graphics

Apr 21, 2010

I'm using with on my web application. I also have an SQL database which I need the 2d graphical "game" page to communicate with. Which programming language would be best for this? The user has to be able to click on an item and retrieve information from the SQL database, I don't know if java can link up with SQL

View 4 Replies

Website Graphics Not Working?

Dec 6, 2010

I've uploaded a simple Azure website (am testing out authentication) and have found this: (live for next 12 hours or so!)Its supposed to look like this:Problem: How to get the live version looking like the test one on every deploy. After a recompile sometimes it works..

View 1 Replies

.net - Custom Font Styles With C# Graphics?

Jan 10, 2011

I have the following list of fonts:I have no issues with using them vianew Font("XXXX Sans", 21, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Pixel)However, what do i do when i need to use a non-standard font style like light? All that is provided is an enumeration and that is not suitable.

View 1 Replies

Web Forms :: How To Create Quality Web Graphics And Animation

Feb 6, 2010

how to get the best software to use for the following?

(i) Web graphics: Apart from Photoshop what is the best easy to use program (minimum learning curve)for producing quality drawings suitable for a website?I know that there are many graphic programs around but I want one that is easy to use and produces QUALITY drawings.

(ii) Animations: Similarly I am looking for an easy to use animation program. I have used Flash before but I feel that there is a steep learning curve. Is there a better program out there?

View 3 Replies

How To Ensure All Graphics Loaded Before Page Is Rendered

Dec 1, 2010

I can remember reading something on this in a book but I can't remember. How do you ensure that certain graphics have been loaded to the users computer before any of the page is rendered?

View 2 Replies

AJAX :: CalendarExtender Will Not Overlap Other Graphics On Form.

Jan 9, 2011

I have a CalendarExtender that links to Textbox. I can get the calendar to appear below the textbox when the textbox is clicked. That works fine. However, when the calendar appears, I can still see other textboxes/labels/etc. along with the month. This isn't right. The month's graphic should be opaque and I shouldn't see other textboxes or labels or whatever was there. As it is it's difficult to see weekday or dates on the calendar since it's being mixed with labels and textboxes. Why is it doing this?

View 2 Replies

Make Graphs To Display The Data In Graphics?

May 14, 2010

Can we Make Graphs To display the data in graphics in

View 2 Replies

Web Forms :: Can Display Graphics Drawing Image By Using Literal

Feb 11, 2011

i had draw a graph, however i want to display it. can display it to literal?

below is my coding:

' Create an in-memory bitmap where you will draw the image.
' The Bitmap is 300 pixels wide and 200 pixels high.
myImage = New Bitmap(1200, 1200, pixelFormat.Format48bppRgb)
' Get the graphics context for the bitmap.
g = Graphics.FromImage(myImage)
g.DrawString(I_fault_all2(i), New Font("Verdana", 12, FontStyle.Bold), Brushes.Black, xInterval * i + 50 + (width / 3), 500)
g.DrawString(I_total(i), New Font("Verdana", 12, FontStyle.Bold), Brushes.Black, xInterval * i + 50 + (width / 3), 500 - height - 25)
' Draw the axes
g.DrawLine(Pens.Blue, 30, 10, 30, 500)
' y-axis
g.DrawLine(Pens.Brown, 20, 500, 490, 500)
' x-axis

here is the coding i don't want as display as below, because it will go to a new screen without header and template.


View 1 Replies

.net Drawing.Graphics.FromImage() Returns Blank Black Image?

Jun 2, 2010

I'm trying to rescale uploaded jpeg in asp.netSo I go:

Image original = Image.FromStream(myPostedFile.InputStream);
int w=original.Width, h=original.Height;
using(Graphics g = Graphics.FromImage(original))


View 2 Replies

Calculations In Textbox Professionally?

Apr 8, 2010

I am having 2 textbox fields named date of birth and age. I have coded in C# in the textchanged event of Date of Birth text field to calculation age and display it in the age text field. For this i have given autopostback true to Date of birth field. I want to calculate age without autopostback,

View 7 Replies

Converting Strings For Mathematical Calculations?

Jul 15, 2010

I'm new to .NET and converting and proper way to convert strings to other values. Specifically, here is a situation I'm facing:

I'm returning two values from a datasource as strings. One values is a representation of a span of time, and another is a count of how many attempts to access a system took place within the span of time.

Given these parameters (for example):

Span of time: 00:01:00
Attempts: 13

I'd like to calculate a third value that shows how many seconds each attempt to connect took place during that span of time. This involves converting the time span to seconds and then dividing by attempts. Where I am getting lost is with the conversion of types. I know the span of time needs to be converted to a date, reduced to seconds, then converted to a number to be divided by the attempts field, also converted to a number.

I've been playing around with code segments like this all morning to no avail:

Dim thisTime As String = "00:01:00"
Dim thisAttempts As String = "13"
Label1.Text = thisTime
Label2.Text = thisAttempts
Label3.Text = Math.Round(Integer.Parse(Convert.ToDateTime(Label1.Text)) / Integer.Parse(Label2.Text), 2)

View 2 Replies

Javascript Calculations And Postbacks - Numbers Are Not Retained?

Mar 22, 2010

I'm working on an ASP.NET web app where I'm using a Wizard to take the client through a large series of steps.One of the steps includes calculating a bunch of numbers on the fly... the numbers calculate properly but when I click "next" and then go back again... some of the numbers are not retained.

function CalculateFields() {
txtSellingPrice = document.getElementById('<%=txtSellingPrice.ClientID %>');
//I get all of the elements like this...
var regexp = /[$,]/g;xt" and then "previous"

View 1 Replies

Forms Data Controls :: How To Enforce Calculations

Jan 24, 2011

I want to enforce some calculation to my project, my requirement as follows. I have txtQtyReq,txtQtyyRec,txtQtyShor(All are 3 textboxes) on load all the 3 textbox/columns should show as "0".(QtyShort=QtyReq-QtyRec)I need to calculate/implement this in txtQtyShort column. when i give a value in txtQtyReq as "50" ,it should calculate QtyShort and display as 50.

txtQtyReq txtQtyRec
0 0 0
50 0 50
50 20 30
txtQtyReq=Quantity Required
txtQtyRec=Quantity Received
txtQtyShort=Qunatity short

View 13 Replies

DataSource Controls :: Create Calculations On Interest

May 23, 2010

I am doing small banking project in that i want to create calculations on interest. in which i have to create that in stored procedures or userdefined funcations

View 1 Replies

DataSource Controls :: Static Value Vs Repeat Calculations?

May 13, 2010

I'm building a site where users can purchase 'credits' and buy items on the website with them. I'm wondering, what is the best way of storing the user's overall Credits value? Is it best to do a SUM() of all Credits they have purchased before from the 'Credits.Orders' table, or for performance purposes when they add credits to their account, should it increase a 'Credits' field value in a 'Users' table? For consistency purposes I would like to go with the first option, but the second option sounds better in terms of not running loads of pointless calculations every time I need to know their credit value.

View 1 Replies

Get Values Of Textbox In Listview And Perform Calculations In Javascript?

Nov 29, 2010

image of my listview: I want to total every row from my listview tallies total infected people and percentage

CityID | City | Population | Male | Female | Total | Percentage |

Population, male, and female columns are user inputs total column is male+female textbox value per row percentage= (total/population)*100 also per row to calculate total and percentage on every textchange

<asp:ListView ID="ListView1" runat="server">
<table style="border: solid 2px #336699;" cellspacing="0" cellpadding="3" rules="all">
<tr style="background-color: #336699; color: White;">
<asp:PlaceHolder ID="itemPlaceHolder" runat="server" />
<td> <asp:Label ID="lblCtyID" runat="server" Text='<%#&nbsp;Bind("CityID")&nbsp;%>' /> </td>
<td> <asp:Label ID="lblCty" runat="server" Text='<%#&nbsp;Bind("CityName")&nbsp;%>'/> </td>
<td><asp:TextBox ID="txtPopu" runat="server"/></td>............................

View 2 Replies

Date Calculations - Insert With The Update Feature On The Gridview

Mar 20, 2010

i am building a small library system and i am at the part where i need to calculate wether the book is overdue and issue a fine atm i have a filter search which finds the Loan through the book copy number and ISBN number this displays the userid and the start date of which the loan was issued in a gridview, i then added a colum to the loan table to allow the "librarian" to insert the return date of the book with the update feature on the gridview, and then once then update is made make a calucation with those 2 dates

and either issue a output of "thanks for returning the book" or "you book is overdue by. and your charge is ..." depending on the results. the oveduerate is if its overdue by 14days then add 0.20 for everyday over sorry for the long description and thought id say iam just started to learn i am building this in Visual Studio and C#

View 16 Replies

Forms Data Controls :: Imposing Calculations In Textboxes

Jan 28, 2011

I want to enforce some calculation to my project, my requirement as follows. I have txtQtyReq,txtQtyyRec,txtQtyShor(All are 3 textboxes) on load all the 3 textbox/columns should show as "0".(QtyShort=QtyReq-QtyRec)I need to calculate/implement this in txtQtyShort column.when i give a value in txtQtyReq as "50" ,it should calculate QtyShort and display as 50.

txtQtyReq txtQtyRec txtQtyShort(=txtQtyReq-txtQtyRec)
0 0 0
50 0 50
50 20 30
txtQtyReq=Quantity Required
txtQtyRec=Quantity Received
txtQtyShort=Qunatity short

I got an excellant solution as follows.


View 8 Replies

.net - There's A Library For .NET That Does Financial Calculations Or Implements Excel-like Functions?

Dec 23, 2010

I'm working in a ASP.NET project wich is suposed to do several financial calculantions involving potentiations, nth roots, etc. For this first operations, I can easily solve the problem using Math. But, for calculating work days - like Excel, or monthly loan payment, interest rates, etc. - like HP 12C, there is a library that implements these functions?

View 2 Replies

Forms Data Controls :: Obtain A Column From A Gridview And Use It In Calculations?

Jun 3, 2010

I have a gridview with the following columns: months, number of injury, expenses. my month column is a string, my number of injury column is a number and my expenses column is a number. I need to first obtain the month column as an integer and then obtain the number of injury column in my gridview. Once these columns are obtained, I want to be able to get the total number of injuries. How do I solve the problem. First obtain the month column and change it to an interger or gridview

Next obtain the injury column and then add each row in the injury column to get the total number of injuries.

View 9 Replies

Copyrights 2005-15, All rights reserved