学前教育专业培养方案:C#制作艺术字
来源:百度文库 编辑:偶看新闻 时间:2024/04/29 09:30:16
今天, 我们就利用C#来制作几款自己的艺术字, 可能会对我们了解字体图像的制作原理有一些帮助. 至于有没有使用价值我保持沉默.
一. 投影效果
程序代码实现如下:
投影效果代码
程序代码实现如下:
浮雕文字实现
程序代码实现如下:
印版文字实现
程序代码实现如下:
倒影文字实现
阴影文字实现
程序代码实现如下:
纹理效果实现
程序代码实现如下:
倾斜效果实现
程序代码实现如下:
渐变色效果实现
程序代码实现如下:
旋转效果实现
后记:
还有很多, 原理都相当简单, 绘制字体图关键要熟悉三个常用绘图类
Brush, Font, Graphics; 这里用到的主要方法是Graphics类的 DrowString.
此方法共有6个版本, 这里用到的版本是
g.DrawString("文本", "字体", "画刷", "X开始坐标", "Y开始坐标")
暂到此...
希望对大家有所帮助.
一. 投影效果
程序代码实现如下:
投影效果代码
- private void Form1_Paint(object sender, PaintEventArgs e)
- {
- //投影文字
- Graphics g = this.CreateGraphics();
- //设置文本输出质量
- g.TextRenderingHint = TextRenderingHint.ClearTypeGridFit;
- g.SmoothingMode = SmoothingMode.AntiAlias;
- Font newFont = new Font("Times New Roman", 48);
- Matrix matrix = new Matrix();
- //投射
- matrix.Shear(-1.5f, 0.0f);
- //缩放
- matrix.Scale(1, 0.5f);
- //平移
- matrix.Translate(130, 88);
- //对绘图平面实施坐标变换、、
- g.Transform = matrix;
- SolidBrush grayBrush = new SolidBrush(Color.Gray);
- SolidBrush colorBrush = new SolidBrush(Color.BlueViolet);
- string text = "博客园";
- //绘制阴影
- g.DrawString(text, newFont, grayBrush, new PointF(0, 30));
- g.ResetTransform();
- //绘制前景
- g.DrawString(text, newFont, colorBrush, new PointF(0, 30));
- }
程序代码实现如下:
浮雕文字实现
- private void Form1_Paint(object sender, PaintEventArgs e)
- {
- //浮雕文字
- Brush backBrush = Brushes.Black;
- Brush foreBrush = Brushes.White;
- Font font = new Font("宋体", Convert.ToInt16(40), FontStyle.Regular);
- Graphics g = this.CreateGraphics();
- string text = "博客园";
- SizeF size = g.MeasureString(text, font);
- Single posX = (this.Width - Convert.ToInt16(size.Width)) / 2;
- Single posY = (this.Height - Convert.ToInt16(size.Height)) / 2;
- g.DrawString(text, font, backBrush, posX+1, posY+1);
- g.DrawString(text, font, foreBrush, posX, posY);
- }
程序代码实现如下:
印版文字实现
- private void Form1_Paint(object sender, PaintEventArgs e)
- {
- //印版文字
- int i = 0;
- Brush backBrush = Brushes.Black;
- Brush foreBrush = Brushes.Violet;
- Font font = new Font("Times New Roman", System.Convert.ToInt16(40), FontStyle.Regular);
- Graphics g = this.CreateGraphics();
- g.Clear(Color.White);
- string text = "博客园";
- SizeF size = g.MeasureString(text, font);
- Single posX = (this.Width - Convert.ToInt16(size.Width)) / 2;
- Single posY = (this.Height - Convert.ToInt16(size.Height)) / 3;
- while (i < Convert.ToInt16(20))
- {
- g.DrawString(text, font, backBrush, posX - i, posY + i);
- i = i + 1;
- }
- g.DrawString(text, font, foreBrush, posX, posY);
- }
程序代码实现如下:
倒影文字实现
- private void Form1_Paint(object sender, PaintEventArgs e)
- {
- //倒影文字
- Brush backBrush = Brushes.Gray;
- Brush foreBrush = Brushes.Black;
- Font font = new Font("幼圆", Convert.ToInt16(40), FontStyle.Regular);
- Graphics g = this.CreateGraphics();
- string text = "博客园";
- SizeF size = g.MeasureString(text, font);
- int posX = (this.Width - Convert.ToInt16(size.Width)) / 2;
- int posY = (this.Height - Convert.ToInt16(size.Height)) / 2;
- g.TranslateTransform(posX, posY);
- int ascent = font.FontFamily.GetCellAscent(font.Style);
- int spacing = font.FontFamily.GetLineSpacing(font.Style);
- int lineHeight = System.Convert.ToInt16(font.GetHeight(g));
- int height = lineHeight * ascent / spacing;
- GraphicsState state = g.Save();
- g.ScaleTransform(1, -1.0F);
- g.DrawString(text, font, backBrush, 0, -height);
- g.Restore(state);
- g.DrawString(text, font, foreBrush, 0, -height);
- }
阴影文字实现
- private void Form1_Paint(object sender, PaintEventArgs e)
- {
- //阴影文字
- string text = "博客园";
- Brush shadowBrush = Brushes.Gray;
- Brush foreBrush = Brushes.Black;
- Font font = new Font("幼圆", Convert.ToInt16(40), FontStyle.Regular);
- Graphics g = this.CreateGraphics();
- SizeF size = g.MeasureString(text, font);
- Single posX = (this.Width - Convert.ToInt16(size.Width)) / 4;
- Single posY = (this.Height - Convert.ToInt16(size.Height)) / 3;
- g.DrawString(text, font, shadowBrush, posX + Convert.ToInt16(20), posY + Convert.ToInt16(20));
- g.DrawString(text, font, foreBrush, posX, posY);
- }
程序代码实现如下:
纹理效果实现
- private void Form1_Paint(object sender, PaintEventArgs e)
- {
- //使用图像填充文字线条
- TextureBrush brush = new TextureBrush(Image.FromFile(Application.StartupPath + "\\myPicture.jpg"));
- Graphics g = e.Graphics;
- g.DrawString("博客园", new Font("隶书", 60), brush, new PointF(0, 0));
- }
程序代码实现如下:
倾斜效果实现
- private void Form1_Paint(object sender, PaintEventArgs e)
- {
- Brush foreBrush = Brushes.Blue;
- Font font = new Font("幼圆", Convert.ToInt16(40), FontStyle.Regular);
- Graphics g = this.CreateGraphics();
- string text = "博客园";
- SizeF size = g.MeasureString(text, font);
- Single posX = (this.Width - Convert.ToInt16(size.Width)) / 2;
- Single posY = (this.Height - Convert.ToInt16(size.Height)) / 2;
- g.TranslateTransform(posX, posY);
- Matrix transform = g.Transform;
- //右倾斜文字
- //float shearX = -0.230F;
- //左倾斜文字
- float shearX = 0.550F;
- float shearY = 0.10F;
- transform.Shear(shearX, shearY);
- g.Transform = transform;
- g.DrawString(text, font, foreBrush, 0, 0);
- }
程序代码实现如下:
渐变色效果实现
- private void Form1_Paint(object sender, PaintEventArgs e)
- {
- //渐变色文字
- String text = " 博客园";
- Brush ShadowBrush = Brushes.Gray;
- Brush ForeBrush = Brushes.Black;
- Font font = new Font("幼圆", System.Convert.ToInt16(40), FontStyle.Regular);
- Graphics g = this.CreateGraphics();
- //g.Clear(Color.White);
- PointF point = new PointF(0, 0);
- SizeF size = g.MeasureString(text, font);
- RectangleF rectangle = new RectangleF(point, size);
- Brush brush = new LinearGradientBrush(rectangle, Color.Red, Color.Green, LinearGradientMode.Horizontal);
- int width = (this.Width - Convert.ToInt16(size.Width)) / 2;
- int height = (this.Height - Convert.ToInt16(size.Height)) / 2;
- g.DrawString(text, font, brush, width, height);
- }
程序代码实现如下:
旋转效果实现
- private void Form1_Paint(object sender, PaintEventArgs e)
- {
- //旋转显示文字
- Graphics g = e.Graphics;
- g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
- for (int i = 0; i <= 360; i += 10)
- {
- //平移Graphics对象到窗体中心
- g.TranslateTransform(this.Width / 2, this.Height / 2);
- //设置Graphics对象的输出角度
- g.RotateTransform(i);
- //设置文字填充颜色
- Brush brush = Brushes.DarkViolet;
- //旋转显示文字
- g.DrawString(".bo ke yuan ", new Font("Lucida Console", 11f), brush, 0, 0);
- //恢复全局变换矩阵
- g.ResetTransform();
- }
- }
后记:
还有很多, 原理都相当简单, 绘制字体图关键要熟悉三个常用绘图类
Brush, Font, Graphics; 这里用到的主要方法是Graphics类的 DrowString.
此方法共有6个版本, 这里用到的版本是
g.DrawString("文本", "字体", "画刷", "X开始坐标", "Y开始坐标")
暂到此...
希望对大家有所帮助.
制作动态艺术字
关于艺术字制作的问题.
请高手制作“乱卋晴缘”艺术字!
c#语言网站制作
c#制作wap网站
QQ的艺术字可以自己制作么
如何制作那种血淋淋效果的艺术字?
有方便制作艺术字的软件吗
找关于制作艺术字的网站
怎么制作有艺术字的图片
如何c#制作聊天软件
如何用软件制作无背景(透明)的艺术字?
如何在在制作网站时设置背景音乐 和艺术字
制作网叶如何设置背景音乐和艺术字啊
在哪里可以找到好的艺术字制作工具?
那里有中文版的制作艺术字的软件下载?
关与C#程序的制作。
C#中,怎样制作打开资源管理器窗体??
在office里的艺术字太单调了,我想问一下有什么软件可以制作出好看的艺术字
那里有c#制作网站的书呀,包括一些c#制作网站的实列
关于网页制作中图片格式的艺术字的制作问题??用什么工具最好?
有什么软件可以制作像WORD里面的艺术字字体呀?
用C#来做工具栏,怎样制作重叠控建呀?
艺术字下载