本文主要是介绍实例118-绘图技术-绘制公章,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
本节描述绘图中的公章的绘制。
本例程序下载地址:https://download.csdn.net/download/chongxing01/12266063
公章图片如下:
这个项目所要应用的技术如下:
1.在画板中绘制文本,如图中的“专用章”。
2.在画板中绘制圆形,如图中的圆。
3.旋转并移动坐标系,绘制文本,如图中的文本“C#绘图技术之绘图专用章”,逐个文本旋转绘制。
private void button1_Click(object sender, EventArgs e){int tem_Line = 0;//记录圆的直径int circularity_W = 4;//设置圆画笔的粗细Var_Font = new Font("Arial", center_r/12, FontStyle.Bold);//定义字符串的字体样式tem_Line = center_r;rect = new Rectangle(circularity_W, circularity_W, tem_Line - circularity_W * 2, tem_Line - circularity_W * 2);//设置圆的绘制区域Font star_Font = new Font("Arial", center_r/4, FontStyle.Regular);//设置星号的字体样式string star_Str = "★";Graphics g = this.panel1.CreateGraphics();//实例化Graphics类g.SmoothingMode = SmoothingMode.AntiAlias;//消除绘制图形的锯齿g.Clear(Color.White);//以白色清空panel1控件的背景Pen myPen = new Pen(Color.Red, circularity_W);//设置画笔的颜色g.DrawEllipse(myPen, rect); //绘制圆 SizeF Var_Size = new SizeF(rect.Width, rect.Width);//实例化SizeF类Var_Size = g.MeasureString(star_Str, star_Font);//对指定字符串进行测量//要指定的位置绘制星号g.DrawString(star_Str, star_Font, myPen.Brush, new PointF((rect.Width / 2F) + circularity_W - Var_Size.Width / 2F, rect.Height / 2F - Var_Size.Width / 2F));Var_Size = g.MeasureString("专用章", Var_Font);//对指定字符串进行测量//绘制文字g.DrawString("专用章", Var_Font, myPen.Brush, new PointF((rect.Width / 2F) + circularity_W - Var_Size.Width / 2F, rect.Height / 2F + Var_Size.Height * 2));string tempStr = "C#绘图技术之绘制专用章";int len = tempStr.Length;//获取字符串的长度float angle = 180 + (180 - len * 20) / 2;//设置文字的旋转角度for (int i = 0; i < len; i++)//将文字以指定的弧度进行绘制{//将指定的平移添加到g的变换矩阵前g.TranslateTransform((tem_Line + circularity_W / 2) / 2 + (float)(Math.Cos(angle * Math.PI / 180) * tem_Line/2.3),(tem_Line + circularity_W / 2) / 2 + (float)(Math.Sin(angle * Math.PI / 180) * tem_Line/2.3));g.RotateTransform(angle+90);//将指定的旋转用于g的变换矩阵 Brush myBrush = Brushes.Red;//定义画刷g.DrawString(tempStr.Substring(i, 1), Var_Font, myBrush, 0, 0);//显示旋转文字g.ResetTransform();//将g的全局变换矩阵重置为单位矩阵angle += 20;//设置下一个文字的角度}}
具体参考注释!
这篇关于实例118-绘图技术-绘制公章的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!