Tjenare, Hej Robert, Ett sätt att lösa det på är att rita ut strängen på en bitmap och sen sekvensiellt kolla in var Ni båda talar om ungefär samma sak och det verkar vara det sättet man får göra. Jag ska labba lite och se vad man kan åstadkomma. Om ni har flera tankar så tala ut, det är många som försökt lösa detta tidigare.Exakt grafik - strängar
För att exakt få ut bredden och höjden en sträng som jag skriver ut till en bild så går det ju att använda Measurestring, men detta ger ju inte exakt rätt resultat. Hur ska jag gå tillväga för att få exakt rätt resultat oavsett vilket typsnitt, storlek och textformat som väljs. Det verkar inte som att någon har löst detta tidigare?Sv: Exakt grafik - strängar
Det är inget lätt problem eftersom olika typsnitt "breder ut sig" olika mycket beroende på hur de är skurna och jag antar att det är svårt att räkna ut detta exakt med programkod. Det står också i dokumentationen för Graphics.MeasureString att det inte är en exakt metod:
"The MeasureString method is designed for use with individual strings and includes a small amount of extra space before and after the string to allow for overhanging glyphs. Also, the DrawString method adjusts glyph points to optimize display quality and might display a string narrower than reported by MeasureString."
(Källa: http://msdn2.microsoft.com/en-us/library/6xe5hazb.aspx)
Om du har krav på exakt passform så kanske man borde titta på hur man gör när man skapar sådana grafiska texter i Photoshop? Jag tänker mig att man först genererar texten mot en transparent bakgrund, markerar allt som är pixlar och beskär bilden i en rektangel som rättar sig efter den pixel som är längst upp i vänstra hörnet och den som är längst ner i det högra. Sedan sparar man bilden mot den bakgrundsfärg man har på sin sida. Bara en fundering. Vet inte ens om det är görbart?
Jag känner att jag skulle behöva labba lite med detta för att komma med ett vettigare svar. Dock känner jag igen ditt problem - jag har använt grafiska textgeneratorer i olika publiceringsverktyg, men det är alltid för mycket luft runt texterna som de genererar och jag har blivit sugen på att koda om dem.
/ThomasSv: Exakt grafik - strängar
första och sista avikande färg har för koordinater i X- respektive Y-led. Sen är det bara att
subtrahera fram exakta mått på höjd och bredd.Sv:Exakt grafik - strängar