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

C# GDI+ 繪圖實戰(六):文字旋轉效果

     編輯:關於C語言

效果預覽

文字旋轉效果截圖

核心代碼

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)
    {
        // 1. 將繪圖原點平移至窗體中心
        g.TranslateTransform(this.Width / 2, this.Height / 2);
        // 2. 旋轉坐標系
        g.RotateTransform(i);
        // 3. 繪製文字(相對新原點 0,0)
        using (Brush brush = Brushes.DarkViolet)
        {
            g.DrawString(".bo ke yuan ", new Font("Lucida Console", 11f), brush, 0, 0);
        }
        // 4. 重置變換,供下一次迭代
        g.ResetTransform();
    }
}

關鍵技術點解析

  1. TranslateTransform:移動坐標系原點,使旋轉中心成為窗體中心而非左上角。
  2. RotateTransform:按角度旋轉坐標系,後續繪圖操作自動應用旋轉。
  3. ResetTransform:恢復單位矩陣,避免累積變換導致後續幀位置偏移。
  4. SmoothingMode.AntiAlias:開啟抗鋸齒,提升文字邊緣質量。

三大核心繪圖類回顧

類主要作用
Graphics繪圖畫布,提供 DrawString、FillRectangle、Transform 等方法
Font封裝字體家族、大小、樣式
Brush定義填充樣式(純色、漸變、紋理)

DrawString 重載提示

本例使用 DrawString(string, Font, Brush, float x, float y),坐標相對當前坐標系原點。其他常用重載支持 PointF、RectangleF、StringFormat 等。

擴展思路

  • 結合 ScaleTransform 實現螺旋放大/縮小動畫。
  • 在 OnPaint 外部使用 Timer 驅動角度增量,構建持續旋轉動畫。
  • 使用 StringFormat 設置對齊方式,讓文字繞中心對稱分布。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved