M
Mark B
I want to draw some text (the string value of a variable) on an image:
H
E
L
L
O
Does anyone know how to do this (e.g. using g.DrawString)?
H
E
L
L
O
Does anyone know how to do this (e.g. using g.DrawString)?
Mark B said:I want to draw some text (the string value of a variable) on an image:
H
E
L
L
O
Does anyone know how to do this (e.g. using g.DrawString)?
Mark said:I want to draw some text (the string value of a variable) on an image:
H
E
L
L
O
Does anyone know how to do this (e.g. using g.DrawString)?
Pete Kane said:Mark said:I want to draw some text (the string value of a variable) on an image:
H
E
L
L
O
Does anyone know how to do this (e.g. using g.DrawString)?
Hi Mark, this will do what you require ( put it in the Paint event handler
Graphics g = e.Graphics;
g.FillRectangle(Brushes.White, this.ClientRectangle);
String s = "HELLO";
Font f = new Font("Times New Roman", 14);
float x = 150.0F;
float y = 50.0F;
for (int i = 0; i < s.Length; i++)
{
g.DrawString(s.ToString(), f, Brushes.Black,x,y);
y += 20;
}
Just 2 Lines Code
string s = "HELLO";
e.Graphics.DrawString("HELLO", this.Font, Brushes.Black, new
RectangleF(10, 10, this.Font.Size, this.Font.Height * s.Length));
Pete Kane said:Mark said:I want to draw some text (the string value of a variable) on an image:
H
E
L
L
O
Does anyone know how to do this (e.g. using g.DrawString)?
Hi Mark, this will do what you require ( put it in the Paint event handler
Graphics g = e.Graphics;
g.FillRectangle(Brushes.White, this.ClientRectangle);
String s = "HELLO";
Font f = new Font("Times New Roman", 14);
float x = 150.0F;
float y = 50.0F;
for (int i = 0; i < s.Length; i++)
{
g.DrawString(s.ToString(), f, Brushes.Black,x,y);
y += 20;
}
languages including Chinese, Arabic, Korean etc. So I hope y += 20 will be
OK. I guess it should since all characters will fall inside a set character
height. A few may have plenty of room (e.g. Arabic) but hopefully it will
still look OK.
I am planning to used Arial but also the variable will be in 34 different
languages including Chinese, Arabic, Korean etc. So I hope y += 20 will be
OK.
I quite agree - I was merely showing the OP the wayJeff said:Magic numbers are always to be avoided. Write the extra code to measure....
Mark said:Thanks very much.
I am planning to used Arial but also the variable will be in 34
different languages including Chinese, Arabic, Korean etc. So I hope y
+= 20 will be OK. I guess it should since all characters will fall
inside a set character height. A few may have plenty of room (e.g.
Arabic) but hopefully it will still look OK.
Pete Kane said:Mark said:I want to draw some text (the string value of a variable) on an image:
H
E
L
L
O
Does anyone know how to do this (e.g. using g.DrawString)?
Hi Mark, this will do what you require ( put it in the Paint event
handler
Graphics g = e.Graphics;
g.FillRectangle(Brushes.White, this.ClientRectangle);
String s = "HELLO";
Font f = new Font("Times New Roman", 14);
float x = 150.0F;
float y = 50.0F;
for (int i = 0; i < s.Length; i++)
{
g.DrawString(s.ToString(), f, Brushes.Black,x,y);
y += 20;
}
Pete Kane said:Mark said:Thanks very much.
I am planning to used Arial but also the variable will be in 34 different
languages including Chinese, Arabic, Korean etc. So I hope y += 20 will
be OK. I guess it should since all characters will fall inside a set
character height. A few may have plenty of room (e.g. Arabic) but
hopefully it will still look OK.
Pete Kane said:Mark B wrote:
I want to draw some text (the string value of a variable) on an image:
H
E
L
L
O
Does anyone know how to do this (e.g. using g.DrawString)?
Hi Mark, this will do what you require ( put it in the Paint event
handler
Graphics g = e.Graphics;
g.FillRectangle(Brushes.White, this.ClientRectangle);
String s = "HELLO";
Font f = new Font("Times New Roman", 14);
float x = 150.0F;
float y = 50.0F;
for (int i = 0; i < s.Length; i++)
{
g.DrawString(s.ToString(), f, Brushes.Black,x,y);
y += 20;
}
Hi Mark, just for completeness this line should replace the magic number
'20'
y+= f.GetHeight();
regards
Want to reply to this thread or ask your own question?
You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.