Avatar billede jimgordon Nybegynder
04. januar 2005 - 09:53 Der er 6 kommentarer og
1 løsning

Karakterlængde til pixels

Hvordan finder man pixel width af en tekst.
Eksempelvis en tekst på syv karaktere "entekst".

Pixel width må vel være afhængig af skærmopløsning.
Skal brug det til en property (ColumnHeader.Width) der skal have længden i pixels.

Jvf. http://www.eksperten.dk/spm/576687?Esession=8b93fc3f3d09c5a4a6f9461246ed46e7
Avatar billede jpvj Nybegynder
04. januar 2005 - 10:05 #1
Fandt denne tråd til dig - håber det er det du søger:

http://www.dotnetforums.net/showthread.php?t=77011
Avatar billede jimgordon Nybegynder
04. januar 2005 - 10:42 #2
Ja, noget lignende:
System.Windows.Forms.Label lbl = new System.Windows.Forms.Label();
                    lbl.Text = "En tekst";
                    Graphics g = lbl.CreateGraphics();
                    Size size = g.MeasureString(lbl.Text, lbl.Font).ToSize();
                    int aPixelWidthOfString = size.Width;
Avatar billede jimgordon Nybegynder
04. januar 2005 - 10:44 #3
Selvom den dog mangler de sidste to bogstaver. Måske fordi jeg bruger upper case.
Avatar billede jimgordon Nybegynder
04. januar 2005 - 10:48 #4
Lidt skod programmering løser dog det problem:)
lbl.Text = "En tekst" + "XX";    // the pixel with is missing the last two characters
Avatar billede burningice Nybegynder
06. januar 2005 - 01:43 #5
fandt det her

string measureString = "hello";

CharacterRange[] characterRanges = {new CharacterRange(0, 5)};

RectangleF layoutRect = new RectangleF(0.0F, 0.0F, 100000.0F, 100000.0F);

StringFormat stringFormat = new StringFormat();
stringFormat.SetMeasurableCharacterRanges(characterRanges);

Region[] stringRegions = new Region[1];
stringRegions = e.Graphics.MeasureCharacterRanges(
measureString, font, layoutRect, stringFormat);

RectangleF measureRect = stringRegions[0].GetBounds(e.Graphics);

int Offset = measureRect.X;
int Width = measureRect.Width;
Avatar billede burningice Nybegynder
06. januar 2005 - 01:44 #6
og den kommer fra en Paint-event, deraf e.Graphics
Avatar billede jimgordon Nybegynder
23. januar 2005 - 13:51 #7
tak, den ser bedre ud.
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester