首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> C# >> 關於C#

C# GDI+ 繪製藝術字效果全集:投影、浮雕、印版、倒影、漸層、旋轉等十種風格

     編輯:關於C#

核心類別與方法

  • Graphics:繪圖介面,提供 DrawString、座標轉換(TranslateTransform、RotateTransform、ScaleTransform、Shear)。
  • Font:字型、大小、樣式。
  • Brush:填充樣式(SolidBrush、LinearGradientBrush、TextureBrush)。
  • Matrix:仿射轉換矩陣,控制傾斜、縮放、平移。

十大效果實作精要

效果關鍵技術程式碼片段
1. 投影Matrix.Shear + Scale + Translate 變換繪圖平面,先繪灰色陰影再繪前景g.Transform = matrix; g.DrawString(text, font, grayBrush, pt); g.ResetTransform(); g.DrawString(text, font, colorBrush, pt);
2. 浮雕同一文字偏移 1 像素畫兩次:深色底 + 淺色面g.DrawString(text, font, Brushes.Black, x+1, y+1); g.DrawString(text, font, Brushes.White, x, y);
3. 印版迴圈疊加多層深色偏移,最後畫前景色for(i=0;i<20;i++) g.DrawString(text, font, Brushes.Black, x-i, y+i); g.DrawString(text, font, foreBrush, x, y);
4. 倒影ScaleTransform(1, -1) 鏡像翻轉,配合 GraphicsState 保存/還原g.ScaleTransform(1, -1); g.DrawString(text, font, grayBrush, 0, -h); g.Restore(state); g.DrawString(text, font, foreBrush, 0, -h);
5. 陰影固定偏移畫灰色陰影,再畫前景g.DrawString(text, font, Brushes.Gray, x+20, y+20); g.DrawString(text, font, Brushes.Black, x, y);
6. 紋理填充TextureBrush 以圖片填充文字輪廓TextureBrush tb = new TextureBrush(Image.FromFile("tex.jpg")); g.DrawString(text, font, tb, pt);
7. 傾斜Matrix.Shear 控制 X/Y 傾斜因子matrix.Shear(0.55f, 0.1f); g.Transform = matrix; g.DrawString(text, font, brush, 0, 0);
8. 漸層色LinearGradientBrush 指定矩形區域與漸層模式LinearGradientBrush lgb = new LinearGradientBrush(rect, Color.Red, Color.Green, LinearGradientMode.Horizontal); g.DrawString(text, font, lgb, x, y);
9. 旋轉環繞迴圈 RotateTransform 角度累加,配合 TranslateTransform 移至中心for(i=0;i<=360;i+=10){ g.TranslateTransform(cx,cy); g.RotateTransform(i); g.DrawString(...); g.ResetTransform(); }
10. 組合應用上述技術任意組合(如漸層+旋轉+倒影)視創意自由發揮

通用繪製模板


private void DrawArtText(Graphics g, string text, Font font, PointF center)
{
    // 1. 量測文字大小
    SizeF sz = g.MeasureString(text, font);
    PointF origin = new PointF(center.X - sz.Width/2, center.Y - sz.Height/2);

    // 2. 設定高品質
    g.SmoothingMode = SmoothingMode.AntiAlias;
    g.TextRenderingHint = TextRenderingHint.ClearTypeGridFit;

    // 3. 套用任意效果...
}

應用場景

  • WinForms 自訂控制項標題、水印、驗證碼產生。
  • 報表列印頁首/浮水印。
  • 簡易圖片編輯器文字特效模組。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved