如何在 C# 中向文本添加反射效果 | IronWord

How to Add Reflection Effect to Text in C

This article was translated from English: Does it need improvement?
Translated
View the article in English

使用 IronWord 的簡單 API,在 C# 中為文字套用鏡面反射效果。 只需一行程式碼即可創造專業的文字反射效果,模擬文字在表面上的反射,從而增強視覺深度。

快速入門:在 C# 中為文字應用反射效果

使用IronWord,只需一行程式碼,即可將預設的反射效果套用至任何文字。 立即上手-無需複雜的設定或樣板程式碼。

  1. 使用NuGet套件管理器安裝https://www.nuget.org/packages/IronWord

    PM > Install-Package IronWord
  2. 複製並運行這段程式碼。

    using IronWord;
    using IronWord.Models;
    
    WordDocument doc = new WordDocument();
    TextStyle textStyle = new TextStyle();
    textStyle.TextEffect = new TextEffect() { ReflectionEffect = new Reflection() };
    Paragraph paragraph = new Paragraph();
    Run textRun = new Run(new TextContent("Reflection Text"));
    textRun.Style = textStyle;
    paragraph.AddChild(textRun);
    doc.AddParagraph(paragraph);
    doc.SaveAs("reflection.docx");
  3. 部署到您的生產環境進行測試

    今天就在您的專案中開始使用免費試用IronWord

    arrow pointer

如何添加反射效果?

To apply a reflection effect, create a TextStyle and populate its TextEffect property with a ReflectionEffect. Then create a Paragraph, followed by a Run containing TextContent. Assign the TextStyle to the Run (not the TextContent), then use AddChild to add the Run to the Paragraph. 這遵循文件層次結構:文件 → 段落 → 執行 → 文字內容。

反射效果透過為重要文字元素增加深度和視覺趣味性來增強文件呈現效果。 這種效果對於專業文件中的標題、標頭和強調關鍵資訊尤其有效。 這種反射效果模擬了文字位於光滑表面上的效果,營造出一種優雅現代的外觀,能夠吸引讀者的注意。

為什麼創建 TextStyle 很重要?

TextStyle 物件是IronWord中所有文字格式的中心配置點。 透過將樣式與內容分離,您可以在多個文字元素中重複使用相同的反射效果,從而確保整個文件的一致性。 這種方法還可以透過修改單一樣式物件來輕鬆全域更新反射效果。

:path=/static-assets/word/content-code-examples/how-to/text-effect-reflection-effect.cs
using IronWord;
using IronWord.Models;

// Create new Word document
WordDocument doc = new WordDocument();

// Create and configure text style
TextStyle textStyle = new TextStyle();
textStyle.TextEffect = new TextEffect()
{
    ReflectionEffect = new Reflection(),
};

// Create paragraph
Paragraph paragraph = new Paragraph();

// Create run with text and style
Run textRun = new Run(new TextContent("Hello World"));
textRun.Style = textStyle;

// Add run to paragraph
paragraph.AddChild(textRun);

// Add paragraph to document
doc.AddParagraph(paragraph);

// Export new Word document
doc.SaveAs("reflectionEffect.docx");
$vbLabelText   $csharpLabel

預設反射效果是什麼樣的?

預設的反射效果會在文字下方創建一個微妙的鏡像,並自動淡化不透明度。 此預設配置適用於大多數商務文件和簡報,無需任何額外自訂。 反射影像出現在標準距離處,並具有適當的模糊和透明度設置,以配合各種字體大小和樣式。

微軟 Word 文件中顯示

我可以配置哪些反射效果屬性?

反射效果提供了一系列可調節的屬性,以滿足不同的設計需求。 了解這些特性,您可以建立符合您特定文件風格的獨特視覺效果。 每個屬性控制反射的不同方面,從位置和角度到透明度和顏色。 請參閱以下列表,以了解每個房產的詳細描述:

哪些屬性控制反射外觀?

  • SchemeColor: 取得或設定反射效果的方案顏色。 為反射光著色,可營造水面或金屬表面效果。

  • HorizontalSkewAngle: 取得或設定水平傾斜角度(以度為單位)。 營造透視效果,使倒影向遠處延伸。

  • HorizontalScalingFactor: 取得或設定水平縮放因子。 低於 100 的值會壓縮; 大於 100 的值會被拉伸。

  • DistanceFromText: 取得或設定點(1/72 英吋)的距離。 較小的數值會產生緊密的反射; 較大的數值模擬遠處的表面。

  • DirectionAngle: 取得或設定方向角(以度為單位)。 確定光源的視方向。

  • FadeDirectionAngle: 取得或設定淡入淡出方向(以度為單位)。 控制垂直方向的淡入淡出效果,用於地面反射;或控制傾斜方向的淡入淡出效果,用於水面效果。

  • EndPosition: 取得或設定結束位置。 決定反射光線完全消失的位置。

  • StartPosition: 取得或設定起始位置。 通常情況下,0 表示緊接在文字下方開始。

  • EndingOpacity: 取得或設定結束不透明度。 較低的數值會產生微妙的反射,並逐漸過渡到透明。

  • VerticalScalingFactor: 取得或設定垂直縮放因子。 負值會使文字翻轉; 幅度控制高度。

  • StartingOpacity: 取得或設定初始不透明度。 數值越高,初始反射越強。

  • Alignment: 取得或設定對齊方式。 您可以選擇多種選項來定位反射影像相對於文字的位置。

  • BlurRadius: 取得或設定模糊半徑(以點 (1/72 英吋) 為單位)。 數值越高,反射越柔和、越漫射。

  • VerticalSkewAngle: 取得或設定垂直傾斜角度(以度為單位)。 用於營造傾斜反射效果。

如何建立自訂反射效果?

自訂反射效果可讓您與組織的品牌形象相匹配,或創造獨特的視覺風格。 以下範例示範了具有特定位置和不透明度設定的金色反射效果,可為證書、獎狀或進階文件標題營造專業外觀。

:path=/static-assets/word/content-code-examples/how-to/text-effect-customized-reflection-effect.cs
using IronWord;
using IronWord.Models;
using IronWord.Models.Enums;

// Create new Word document
WordDocument doc = new WordDocument();

// Create and configure text style
TextStyle textStyle = new TextStyle();
textStyle.TextEffect = new TextEffect()
{
    ReflectionEffect = new Reflection()
    {
        Alignment = RectangleAlignmentValues.BottomLeft,
        BlurRadius = 5,
        DirectionAngle = 90,
        DistanceFromText = 5,
        EndingOpacity = 100,
        EndPosition = 10,
        FadeDirectionAngle = 90,
        HorizontalScalingFactor = 100,
        HorizontalSkewAngle = 0,
        SchemeColor = IronWord.Models.Color.Gold,
        StartingOpacity = 0,
        StartPosition = 0,
        VerticalScalingFactor = -100,
        VerticalSkewAngle = 0,
    },
};

// Create paragraph
Paragraph paragraph = new Paragraph();

// Create run with text and style
Run textRun = new Run(new TextContent("Customized reflection"));
textRun.Style = textStyle;

// Add run to paragraph
paragraph.AddChild(textRun);

// Add paragraph to document
doc.AddParagraph(paragraph);

// Export new Word document
doc.SaveAs("customizedReflectionEffect.docx");
$vbLabelText   $csharpLabel

使用自訂屬性可以實現哪些結果?

上面的自訂反射範例產生了一種獨特的金色反射效果,增強了文件的高級感。 透過將不透明度漸變從 0% 調整到 100%,反射會產生反向淡入淡出的效果,即反射越遠離文本,強度越大。 這種方法非常適合建立醒目的標題或突出顯示重要公告。

Word 文件中顯示了

反射效應的最佳實踐

在專業文件中運用反襯效果時,請遵循以下準則:

微妙之處往往效果最佳:對於商務文檔,使用較低的透明度值(20-40%)來創建微妙的反射效果,既能增強視覺效果,又不會分散注意力。 將更強烈的特效用於視覺衝擊力至關重要的行銷資料或簡報中。

符合文件樣式:使反射屬性與文件的整體設計保持一致。 正式文件可以利用簡單的垂直反射,盡量減少模糊,而創意材料則可以利用傾斜的角度和彩色反射來達到藝術效果。

效能注意事項:複雜的反射效果(例如模糊半徑值較高)可能會增加檔案大小和處理時間。對於包含大量反射元素的文檔,請測試效能並相應地調整屬性。

無障礙意識:請記住,像反射這樣的裝飾效果應該增強而不是取代清晰的溝通。 確保正文保持高度可讀性,尤其是在建立需要符合無障礙標準的文件時。

常見問題解答

如何在 C# 中為文字加入反射效果?

透過 IronWord,您可以建立一個 TextStyle 物件,並在 ReflectionEffect 屬性中填入一個 Reflection 物件,以加入反射效果。只要實體化 Reflection 類別,並將其指定給文字樣式即可 - IronWord 會自動處理所有複雜的渲染。

應用文字反射效果的最簡單方法是什麼?

最快速的方法是使用 IronWord 的單行實作:new IronWord.WordDocument().AddText("Your Text").Style = new IronWord.Models.TextStyle(){ TextEffect = new IronWord.Models.TextEffect(){ ReflectionEffect = new IronWord.Models.Reflection() }。}.這會立即套用預設的反射效果。

我可以自訂反射效果的屬性嗎?

是的,IronWord 的 Reflection 類別提供各種可設定的屬性來調整反射的外觀,包括不透明度淡化、與文字的距離、模糊設定以及透明度等級。您可以微調這些屬性,針對您特定的設計需求,創造獨特的視覺效果。

預設的反射效果是什麼樣子?

IronWord 的預設反射功能可在文字下方建立微妙的鏡像,並自動淡化不透明度。預設組態包含適當的模糊與透明度設定,可與各種字型大小與樣式完美搭配,因此適用於大多數的商業文件,無須額外的客製化設定。

為什麼要使用 TextStyle 物件來做反射效果?

IronWord 中的 TextStyle 物件是所有文字格式化的中央配置點。這種樣式與內容分離的方式,可讓您在多個文字元素中重複使用相同的反射效果,確保一致性,並可透過修改單一樣式物件,輕鬆地在全局範圍內更新效果。

哪些類型的文件可以從反射效果中獲益?

反射效果對於標題、標題以及強調專業文件中的關鍵資訊特別有效。IronWord 的倒影功能可模擬文字置於光滑的表面上,創造出優雅的外觀,增強文件的呈現效果,並吸引讀者注意重要的元素。

Curtis Chau
技術作家

Curtis Chau 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。

除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。

準備好開始了嗎?
Nuget 下載 35,581 | 版本: 2026.3 剛剛發布
Still Scrolling Icon

還在捲動嗎?

想要快速證明? PM > Install-Package IronWord
執行範例 觀看您的資料變成 Word doc。