09. december 2002 - 19:20Der er
2 kommentarer og 1 løsning
Bredden og højden af et stykke tekst
Jeg har et spørgsmål til metoden graphics.drawstring(). Jeg vil gerne kunne udregne højden og bredden i pixels på et stykke brugerdefineret tekst med en brugerdefineret font og størrelse, inden det bliver renderet, men hvordan gør man det?
Eksempel: |-----------------------| |Tekst : Hello World! | | How are you? | <-- Bemærk flere liniers tekst! |Font : Tahoma | |Size : 9 pt | |=======================| |Height = 22 px | <-- Ved ikke om det er rigtigt. |Width = 112 px | |=======================|
Er ikke sikker på om det fuldt ud besvarer dit spørgsmål, men her er et eksempel på hvordan man kan beregne print af et fler-siders dokument. Det beregner bl.a. antal linjer pr. side.
// This variable keeps track of the current position in the // array. It must be declared outside the method that handles the // PrintPage event in order to keep from being reinitialized with // each pageint ArrayCounter = 0; // This method handles a PrintDocument.PrintPage event. It // assumes an array of strings called myStrings() has been // declared and populated elsewhere in the application. It also // assumes a font for printing has been initialized and called // myFont
private void PrintStrings(object sender, PrintPageEventArgs e) { // Declares the variables that will be used to keep track of // spacing and paging float LeftMargin = e.MarginBounds.Left; float TopMargin = e.MarginBounds.Top; float MyLines = 0; float YPosition = 0; int Counter = 0; string CurrentLine;
// Calculate the number of lines per page. MyLines = e.MarginBounds.Height/myFont.GetHeight(e.Graphics);
// Prints each line of the file, but stops at the end of a // page
Jeg har fundet metoden til at finde højden og bredden på en tekst, og selvfølgelig ligger det lige for som altid. Man skal bare bruge metoden Graphics.MeasureString() men tak for hjælpen alligevel...
Mvh. Johannes Hansen
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.