drawstring_drawstring bag
接下来,我将针对drawstring的问题给出一些建议和解答,希望对大家有所帮助。现在,我们就来探讨一下drawstring的话题。
1.C# Graphics.DrawString加背景色
2.g.drawString如何换行输出?
3.GDI+中用DrawString()在制定RectF范围内绘制字符串,如何实现它不额外绘制一个空白区域
4.如何控制drawstring时的字符间距?如何旋转字体
C# Graphics.DrawString加背景色
你在绘制字符串之前可以使用Graphics的MeasureString方法测量它的尺寸再绘制一个相应大小的矩形就行了,如下
Graphics g = this.CreateGraphics();
Font font = new Font("宋体", 9f);
PointF pointF = new PointF(10, 10);
SizeF sizeF = g.MeasureString("Hello World!", font);
g.FillRectangle(Brushes.White, new RectangleF(pointF, sizeF));
g.DrawString("Hello World!", font, Brushes.Black, pointF);
g.Dispose();
font.Dispose();
g.drawString如何换行输出?
drawString用得多的是这个方法public abstract void drawString(String str,int x,int y)
该方法有三个参数,后面两个表示字符串绘制的坐标位置,而你只传递了一个参数,当然就找不到你写的那个方法了
GDI+中用DrawString()在制定RectF范围内绘制字符串,如何实现它不额外绘制一个空白区域
我也正在找g.drawString的换行输出方法,貌似只有靠后面的坐标设定来体现换行效果了。g.drawString("****",20,40);g.drawString("****",20,80);
g.drawString("****",20,120);
g.drawString("",x,y);就当作xy坐标,自己设定。
如何控制drawstring时的字符间距?如何旋转字体
那你要计算你画的字符串的长度和宽度,且需根据字体、型号大小、字体样式(居中还是靠左)。这些来完成。且还要注意有无换行符号\n和\r。
以下是GDI代码,供你参考。
void CalculateTextSize()
{
if ( m_bAutoCalText && ::IsWindow(m_hWnd) )
{
// Calculate text size.
CClientDC dc(m_hWnd);
dc.SelectFont(m_Font);
dc.SetTextAlign(m_uTextStyle);
CSize szText;
CString strText =_T("");
int nHeight = 0;
int nWidth = 0;
// Get max text length and width.
for (int i = 0; i < m_strText.GetLength(); i++)
{
strText += m_strText[i];
if (m_strText[i] == '\n' ||m_strText[i] == '\r')
{
dc.GetTextExtent(strText,strText.GetLength(), &szText);
nHeight += szText.cy;
nWidth = nWidth > szText.cx ? nWidth :szText.cx;
strText = _T("");
}
}
if (strText.GetLength() > 0)
{
dc.GetTextExtent(strText,strText.GetLength(), &szText);
nHeight += szText.cy;
nWidth = nWidth > szText.cx ?nWidth : szText.cx;
strText = _T("");
}
ResizeClient(nWidth, nHeight);
}
Invalidate();
}
下面的代码显示围绕一点旋转的文字 for (float angle = 0; angle < 360; angle += 45) { g.ResetTransform(); g.TranslateTransform(rect.Width / 2, rect.Height / 2); g.RotateTransform(angle); g.DrawString("我的测试绘图", font, brush
好了,今天关于“drawstring”的话题就到这里了。希望大家通过我的介绍对“drawstring”有更全面、深入的认识,并且能够在今后的学习中更好地运用所学知识。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。