Om jag vill loopa igenom alla element (pixlar i mitt fall) i ett Graphics-object för att testa om det är helt tomt eller om det finns något skrivet på det, hur gör jag det? Jag har förstått det som att jag ska testa Det finns en metod som heter MeasureString i graphicsobjektet som mäter en sträng. Kanske det blir lättare att använda den? Nej detta är ett projek som kräver en exakt mätning och MeasureString klarar inte det. Detta är skälet till att jag gör detta. Genom att hitta vart texten startar och slutar verikalt och horisontellt så kommer jag också få en korrekt yta att jobba med. Här finns en lösning. Hej och tack för ditt svar. Jag har tyvärr provat länken du skickade utan bra resultat.Grafik (Graphics-objekt)
varje clip men hur? Jag kommer att skriva ut en drawstring och sedan loopa igenom uppifrån och sedan nerifrån för att se den exakta höjden på strängen.Sv: Grafik (Graphics-objekt)
Sv:Grafik (Graphics-objekt)
Sv: Grafik (Graphics-objekt)
http://weblogs.asp.net/israelio/archive/2006/07/30/DrawString-_2F00_-MeasureString-Offset-Problem-Solved-_2100_.aspx
Men ska inte svära på att den där fungerar 100% rätt heller på mindre fonter.
Det finns ett antal lösningar på problemet som löser det exakt , men med sämre prestand.
en är att omvandla en text till en path och sedan hitta den högsta x positionen i pathens banor.
en annan är att rita strängen på en egen bitmap och sedan hitta första pixeln som har samma färg som texten.
Så det går att lösa , men förhoppningsvis fungerar det i länken tillräckligt bra för dig.Sv:Grafik (Graphics-objekt)
Det jag har gjort är att skapat en bitmap där jag skriver ut texten och loopar igenom
uppifrån och ner för att se var färgen inte är genomskinlig. På samma sätt gör jag från vänster till höger.
Dessvärre får jag det inte att stämma ändå.
Jag har laddat upp aspx-filen med codebehind samt .cs filen som gör själva beräkningen.
http://www.skuggbo.org/aspx/default.aspx.txt
http://www.skuggbo.org/aspx/default.aspx.cs.txt
http://www.skuggbo.org/aspx/measurestring.cs.txt
Kan du hitta något fel?