共用方式為


GlyphRunDrawing 類別

定義

表示呈現 GlyphRunDrawing 物件。

public ref class GlyphRunDrawing sealed : System::Windows::Media::Drawing
public sealed class GlyphRunDrawing : System.Windows.Media.Drawing
type GlyphRunDrawing = class
    inherit Drawing
Public NotInheritable Class GlyphRunDrawing
Inherits Drawing
繼承

範例

下列範例會使用 GlyphRunDrawing 來繪製文字 「Hello World」。

GlyphRun theGlyphRun = new GlyphRun(
    new GlyphTypeface(new Uri(@"C:\WINDOWS\Fonts\TIMES.TTF")),
    0,
    false,
    13.333333333333334,
    new ushort[]{43, 72, 79, 79, 82, 3, 58, 82, 85, 79, 71},
    new Point(0, 12.29),
    new double[]{
        9.62666666666667, 7.41333333333333, 2.96, 
        2.96, 7.41333333333333, 3.70666666666667, 
        12.5866666666667, 7.41333333333333, 
        4.44, 2.96, 7.41333333333333},
    null,
    null,
    null,
    null,
    null,
    null

    );

GlyphRunDrawing gDrawing = new GlyphRunDrawing(Brushes.Black, theGlyphRun);
<GlyphRunDrawing ForegroundBrush="Black">
  <GlyphRunDrawing.GlyphRun>
    <GlyphRun 
      CaretStops="{x:Null}" 
      ClusterMap="{x:Null}" 
      IsSideways="False" 
      GlyphOffsets="{x:Null}" 
      GlyphIndices="43 72 79 79 82 3 58 82 85 79 71" 
      BaselineOrigin="0,12.29"  
      FontRenderingEmSize="13.333333333333334" 
      DeviceFontName="{x:Null}" 
      AdvanceWidths="9.62666666666667 7.41333333333333 2.96 2.96 7.41333333333333 3.70666666666667 12.5866666666667 7.41333333333333 4.44 2.96 7.41333333333333" 
      BidiLevel="0">
      <GlyphRun.GlyphTypeface>
        <GlyphTypeface FontUri="C:\WINDOWS\Fonts\TIMES.TTF" />
      </GlyphRun.GlyphTypeface>
    </GlyphRun>
  </GlyphRunDrawing.GlyphRun>
</GlyphRunDrawing>

GlyphRun 是低階物件,用於固定格式的文件簡報和列印案例。 將文字繪製到畫面的更簡單方法是使用 LabelTextBlock。 如需 的詳細資訊,請參閱 GlyphRun 物件和 Glyphs 元素 概觀 簡介。

備註

GlyphRun 物件代表單一字型單一字型的單一字型字元序列,以及具有單一轉譯樣式。

GlyphRun 包含字型詳細數據,例如圖像索引和個別圖像位置。 此外,GlyphRun 包含從執行產生的原始 Unicode 字碼點、字元到字元緩衝區位移對應資訊,以及每個字元和每字元旗標。

GlyphRun 中的每個圖像都會定義計量,以指定它與其他 Glyphs的對齊方式。 下圖定義兩個不同的圖像字元的各種印刷品質。

圖像測量
兩個不同的圖像字元的各種印刷樣式品質

Freezable 功能: A GlyphRunDrawing 是一種 Freezable 物件,因此可以凍結以改善效能。 如需 Freezable 功能的相關信息,例如凍結和複製,請參閱 Freezable 物件概觀

注意:GlyphRunDrawing 物件不支援部分信任執行。 應用程式必須具有使用 GlyphRunDrawing 物件的完整信任許可權。

建構函式

GlyphRunDrawing()

初始化 GlyphRunDrawing 類別的新實例。

GlyphRunDrawing(Brush, GlyphRun)

藉由指定前景筆刷並 GlyphRun,初始化 GlyphRunDrawing 類別的新實例。

欄位

ForegroundBrushProperty

識別 ForegroundBrush 相依性屬性。

GlyphRunProperty

識別 GlyphRun 相依性屬性。

屬性

Bounds

取得繪圖內容的軸對齊界限。

(繼承來源 Drawing)
CanFreeze

取得值,這個值表示是否可以將 對象設為不可修改。

(繼承來源 Freezable)
DependencyObjectType

取得包裝這個實例 CLR 類型的 DependencyObjectType

(繼承來源 DependencyObject)
Dispatcher

取得與這個 DispatcherObject 相關聯的 Dispatcher

(繼承來源 DispatcherObject)
ForegroundBrush

取得或設定 GlyphRunDrawing的前景筆刷。

GlyphRun

取得或設定描述要繪製之文字的 GlyphRun

HasAnimatedProperties

取得值,這個值表示一或多個 AnimationClock 物件是否與這個物件的相依性屬性相關聯。

(繼承來源 Animatable)
IsFrozen

取得值,這個值表示物件目前是否可修改。

(繼承來源 Freezable)
IsSealed

取得值,這個值表示這個實例目前是否為密封狀態(只讀)。

(繼承來源 DependencyObject)

方法

ApplyAnimationClock(DependencyProperty, AnimationClock)

AnimationClock 套用至指定的 DependencyProperty。 如果屬性已經產生動畫效果,則會使用 SnapshotAndReplace 交接行為。

(繼承來源 Animatable)
ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior)

AnimationClock 套用至指定的 DependencyProperty。 如果屬性已經產生動畫效果,則會使用指定的 HandoffBehavior

(繼承來源 Animatable)
BeginAnimation(DependencyProperty, AnimationTimeline)

將動畫套用至指定的 DependencyProperty。 動畫會在轉譯下一個畫面格時啟動。 如果指定的屬性已經產生動畫效果,則會使用 SnapshotAndReplace 交接行為。

(繼承來源 Animatable)
BeginAnimation(DependencyProperty, AnimationTimeline, HandoffBehavior)

將動畫套用至指定的 DependencyProperty。 動畫會在轉譯下一個畫面格時啟動。 如果指定的屬性已經產生動畫效果,則會使用指定的 HandoffBehavior

(繼承來源 Animatable)
CheckAccess()

判斷呼叫端線程是否可存取此 DispatcherObject

(繼承來源 DispatcherObject)
ClearValue(DependencyProperty)

清除屬性的本機值。 要清除的屬性是由 DependencyProperty 識別碼所指定。

(繼承來源 DependencyObject)
ClearValue(DependencyPropertyKey)

清除唯讀屬性的本機值。 要清除的屬性是由 DependencyPropertyKey指定。

(繼承來源 DependencyObject)
Clone()

建立這個 GlyphRunDrawing的可修改複製品,製作此物件值的深層複本。 複製相依性屬性時,這個方法會複製資源參考和數據系結(但可能不再解析),但無法解析動畫或其目前值。

CloneCore(Freezable)

使用基底(非動畫)屬性值,使實例成為指定之 Freezable 的複製品(深層複本)。

(繼承來源 Freezable)
CloneCurrentValue()

建立這個 GlyphRunDrawing 物件的可修改複製品,對這個物件的目前值進行深層複製。 不會複製資源參考、資料系結和動畫,但目前的值為 。

CloneCurrentValueCore(Freezable)

使用目前的屬性值,使實例成為指定之 Freezable 的可修改複製品(深層複製)。

(繼承來源 Freezable)
CoerceValue(DependencyProperty)

強制指定相依性屬性的值。 這可藉由叫用在相依性屬性的屬性元數據中指定的任何 CoerceValueCallback 函式來完成,因為它存在於呼叫 DependencyObject上。

(繼承來源 DependencyObject)
CreateInstance()

初始化 Freezable 類別的新實例。

(繼承來源 Freezable)
CreateInstanceCore()

在衍生類別中實作時,建立衍生類別 Freezable 的新實例。

(繼承來源 Freezable)
Equals(Object)

判斷提供的 DependencyObject 是否相當於目前的 DependencyObject

(繼承來源 DependencyObject)
Freeze()

讓目前的物件不可修改,並將其 IsFrozen 屬性設定為 true

(繼承來源 Freezable)
FreezeCore(Boolean)

使這個 Animatable 物件不可修改,或判斷它是否可以設為不可修改。

(繼承來源 Animatable)
GetAnimationBaseValue(DependencyProperty)

傳回指定之 DependencyProperty的非動畫值。

(繼承來源 Animatable)
GetAsFrozen()

使用基底 (非動畫) 屬性值,建立 Freezable的凍結複本。 因為複本已凍結,因此會以傳址方式複製任何凍結的子物件。

(繼承來源 Freezable)
GetAsFrozenCore(Freezable)

使用基底(非動畫)屬性值,使實例成為指定之 Freezable 的凍結複製品。

(繼承來源 Freezable)
GetCurrentValueAsFrozen()

使用目前的屬性值建立 Freezable 的凍結複本。 因為複本已凍結,因此會以傳址方式複製任何凍結的子物件。

(繼承來源 Freezable)
GetCurrentValueAsFrozenCore(Freezable)

使目前的實例成為指定之 Freezable的凍結複製品。 如果物件具有動畫相依性屬性,則會複製其目前的動畫值。

(繼承來源 Freezable)
GetHashCode()

取得這個 DependencyObject的哈希碼。

(繼承來源 DependencyObject)
GetLocalValueEnumerator()

建立特製化列舉值,以判斷哪些相依性屬性在此 DependencyObject上設定值。

(繼承來源 DependencyObject)
GetType()

取得目前實例的 Type

(繼承來源 Object)
GetValue(DependencyProperty)

傳回 DependencyObject這個實例上相依性屬性的目前有效值。

(繼承來源 DependencyObject)
InvalidateProperty(DependencyProperty)

重新評估指定相依性屬性的有效值。

(繼承來源 DependencyObject)
MemberwiseClone()

建立目前 Object的淺層複本。

(繼承來源 Object)
OnChanged()

修改目前 Freezable 物件時呼叫。

(繼承來源 Freezable)
OnFreezablePropertyChanged(DependencyObject, DependencyObject)

確保已為剛設定 DependencyObjectType 數據成員建立適當的內容指標。

(繼承來源 Freezable)
OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty)

此成員支援 Windows Presentation Foundation (WPF) 基礎結構,並不適合直接從您的程式代碼使用。

(繼承來源 Freezable)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

覆寫 OnPropertyChanged(DependencyPropertyChangedEventArgs)DependencyObject 實作,以同時叫用任何 Changed 處理程式,以回應類型 Freezable變更的相依性屬性。

(繼承來源 Freezable)
ReadLocalValue(DependencyProperty)

如果相依性屬性存在,則傳回本機值。

(繼承來源 DependencyObject)
ReadPreamble()

確保從有效的線程存取 FreezableFreezable 繼承者必須在讀取非相依性屬性之數據成員的任何 API 開頭呼叫此方法。

(繼承來源 Freezable)
SetCurrentValue(DependencyProperty, Object)

設定相依性屬性的值,而不變更其值來源。

(繼承來源 DependencyObject)
SetValue(DependencyProperty, Object)

設定相依性屬性的本機值,其相依性屬性標識符所指定。

(繼承來源 DependencyObject)
SetValue(DependencyPropertyKey, Object)

設定只讀相依性屬性的本機值,由相依性屬性 DependencyPropertyKey 標識碼所指定。

(繼承來源 DependencyObject)
ShouldSerializeProperty(DependencyProperty)

傳回值,這個值表示串行化進程是否應該串行化所提供相依性屬性的值。

(繼承來源 DependencyObject)
ToString()

傳回表示目前 物件的字串。

(繼承來源 Object)
VerifyAccess()

強制呼叫線程可以存取此 DispatcherObject

(繼承來源 DispatcherObject)
WritePostscript()

Freezable 引發 Changed 事件,並叫用其 OnChanged() 方法。 衍生自 Freezable 的類別應該在任何修改未儲存為相依性屬性之類別成員的 API 結尾呼叫此方法。

(繼承來源 Freezable)
WritePreamble()

確認 Freezable 未凍結,而且它正從有效的線程內容存取。 Freezable 繼承者應該在寫入非相依性屬性之數據成員的任何 API 開頭呼叫此方法。

(繼承來源 Freezable)

事件

Changed

發生於修改 Freezable 或其包含的物件時。

(繼承來源 Freezable)

適用於