icaaqMedlem sedan okt. 20004 910 inlägg
Hej.
Jag skulle vilja veta hur jag ska bete mig för att jag ska få in lite linebreaks i en text som jag lägger in i en bild med DrawString.
Följande gäller, jag har skapat en class som skapar en bild. (här)
Texten som ska skrivas i den classen skriver jag in i en textbox och sedan skickar jag med den som en QueryString som jag har HtmlDecodat.
Men jag vet som sagt inte hur jag ska bete mig för att jag ska få med mina linebreaks :OO. Jag skulle vara tacksam för alla olika lösningar/tips.
mv icaaq
GladhMedlem sedan maj 20013 024 inlägg
Om det inte följer med automatiskt så får du själv "räkna" fram de.
Börja med att skapa en Array av din text som du splitar på Environment.NewLine.
När det är gjort så är det bara att skriva ut en post array som en egen linje. När du alltså kommer till linje 2 så får du räkna fram vilken position den skall ha i texten, likadant med linje 3 osv osv..
DinoMedlem sedan sep. 20011 918 inlägg
Har jobbat alldeles för lite med Imaging, men här är en fuling lösning tills någon med mer förstånd svarar.
string s = "Hej alla glada.<br/>Titta en<br/>hund.".Replace("<br/>", "¤");
string[] arr = s.Split('¤');
Bitmap bit = new Bitmap(300, 300);
Graphics gr = Graphics.FromImage(bit);
gr.Clear(Color.Beige);
int fSize = 18;
Font f = new Font("Arial", fSize);
for(int i = 0; i < arr.Length; i++)
{
gr.DrawString(arr[i], f, Brushes.Red, 0, fSize * i);
}
bit.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Gif);
gr.Dispose();
bit.Dispose();
icaaqMedlem sedan okt. 20004 910 inlägg
Tack så mycket för svaren.....ni väntade i 49 minuter och sedan svarade ni samtidigt ;)
Jag ska testa era nästan lika förslag imorgon......
mv icaaq
icaaqMedlem sedan okt. 20004 910 inlägg
Gladh skrev:
Börja med att skapa en Array av din text som du splitar på Environment.NewLine
Hur åstadkommer jag detta? jag har tror jag har testat det mesta....
mv icaaq
asmodieMedlem sedan jan. 2004730 inlägg
Hmz...asså jag vet inte om det är detta du är ute efter... Men måste den ligga i en array?
Annars är lösningen tämligen enkel...
string minString = "Hej,<br/>Jag är snäll"
minString.Replace("<br/>", Environment.NewLine)
Gör om koden ovan, vet dock inte om det kommer funka.
string s = "Hej alla glada.<br/>Titta en<br/>hund.";
string[] arr = s.Split(Envirotment.NewLine);
Bitmap bit = new Bitmap(300, 300);
Graphics gr = Graphics.FromImage(bit);
gr.Clear(Color.Beige);
int fSize = 18;
Font f = new Font("Arial", fSize);
for(int i = 0; i < arr.Length; i++)
{
gr.DrawString(arr[i], f, Brushes.Red, 0, fSize * i);
}
bit.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Gif);
gr.Dispose();
bit.Dispose();