C#常用GDI+文字操作匯總
本文實(shí)例匯總了C#常用GDI+文字操作,包含了文字的投影、倒影、旋轉(zhuǎn)等常見(jiàn)的效果,在進(jìn)行C#應(yīng)用程序開(kāi)發(fā)中有不錯(cuò)的實(shí)用價(jià)值。分享給大家供大家參考之用。具體如下:
一、投影文字
private void Form1_Paint(object sender, PaintEventArgs e)
{
//投影文字
Graphics g = this.CreateGraphics();
//設(shè)置文本輸出質(zhì)量
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);
//對(duì)繪圖平面實(shí)施坐標(biāo)變換、、
g.Transform = matrix;
SolidBrush grayBrush = new SolidBrush(Color.Gray);
SolidBrush colorBrush = new SolidBrush(Color.BlueViolet);
string text = "MINGRISOFT";
//繪制陰影
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.Gray;
Brush foreBrush = Brushes.Black;
Font font = new Font("幼圓", Convert.ToInt16(40), FontStyle.Regular);
Graphics g = this.CreateGraphics();
string text = "MINGRISOFT";
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)
{
//使用圖像填充文字線條
TextureBrush brush = new TextureBrush(Image.FromFile(Application.StartupPath + "\\花.jpg"));
Graphics g = e.Graphics;
g.DrawString("MINGRISOFT", new Font("隸書(shū)", 60), brush, new PointF(0, 0));
}
四、旋轉(zhuǎn)文字
private void Form1_Paint(object sender, PaintEventArgs e)
{
//旋轉(zhuǎn)顯示文字
Graphics g = e.Graphics;
g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
for (int i = 0; i <= 360; i += 10)
{
//平移Graphics對(duì)象到窗體中心
g.TranslateTransform(this.Width / 2, this.Height / 2);
//設(shè)置Graphics對(duì)象的輸出角度
g.RotateTransform(i);
//設(shè)置文字填充顏色
Brush brush = Brushes.DarkViolet;
//旋轉(zhuǎn)顯示文字
g.DrawString("......MINGRISOFT", new Font("Lucida Console", 11f), brush, 0, 0);
//恢復(fù)全局變換矩陣
g.ResetTransform();
}
}
五、印版文字
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 = "MINGRISOFT";
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);
}
相信本文所述實(shí)例對(duì)大家的C#程序設(shè)計(jì)有一定的幫助。
相關(guān)文章
UnityRTS實(shí)現(xiàn)相機(jī)移動(dòng)縮放功能
這篇文章主要為大家詳細(xì)介紹了UnityRTS實(shí)現(xiàn)相機(jī)的移動(dòng)縮放功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-03-03
C#實(shí)現(xiàn)的json序列化和反序列化代碼實(shí)例
這篇文章主要介紹了C#實(shí)現(xiàn)的json序列化和反序列化代碼實(shí)例,本文講解了兩種實(shí)現(xiàn)方法,并直接給出代碼示例,需要的朋友可以參考下2015-06-06
C#實(shí)現(xiàn)獲取本地內(nèi)網(wǎng)(局域網(wǎng))和外網(wǎng)(公網(wǎng))IP地址的方法分析
這篇文章主要介紹了C#實(shí)現(xiàn)獲取本地內(nèi)網(wǎng)(局域網(wǎng))和外網(wǎng)(公網(wǎng))IP地址的方法,結(jié)合實(shí)例形式總結(jié)分析了C#獲取IP地址相關(guān)原理、實(shí)現(xiàn)方法與操作注意事項(xiàng),需要的朋友可以參考下2020-03-03
winform中的ListBox和ComboBox綁定數(shù)據(jù)用法實(shí)例
這篇文章主要介紹了winform中的ListBox和ComboBox綁定數(shù)據(jù)用法,實(shí)例分析了將集合數(shù)據(jù)綁定到ListBox和ComboBox控件的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2014-12-12
C# 獲取硬件參數(shù)的實(shí)現(xiàn)方法
這篇文章主要介紹了C# 獲取硬件參數(shù)的實(shí)現(xiàn)方法的相關(guān)資料,希望通過(guò)本文能幫助到大家,讓大家實(shí)現(xiàn)這樣的功能,需要的朋友可以參考下2017-10-10
C#中將ListView中數(shù)據(jù)導(dǎo)出到Excel的實(shí)例方法
首先 你需要添加引用Microsoft Excel 11.0 Object Library2013-04-04

