共用方式為


Stroke.Transform 方法 (Matrix, Boolean)

套用線性轉換至 Stroke 物件,並且可以選擇套用轉換至畫筆寬度。

命名空間:  Microsoft.Ink
組件:  Microsoft.Ink (在 Microsoft.Ink.dll 中)

語法

'宣告
Public Sub Transform ( _
    inkTransform As Matrix, _
    applyOnPenWidth As Boolean _
)
'用途
Dim instance As Stroke
Dim inkTransform As Matrix
Dim applyOnPenWidth As Boolean

instance.Transform(inkTransform, applyOnPenWidth)
public void Transform(
    Matrix inkTransform,
    bool applyOnPenWidth
)
public:
void Transform(
    Matrix^ inkTransform, 
    bool applyOnPenWidth
)
public void Transform(
    Matrix inkTransform,
    boolean applyOnPenWidth
)
public function Transform(
    inkTransform : Matrix, 
    applyOnPenWidth : boolean
)

參數

  • applyOnPenWidth
    型別:System.Boolean
    布林值,指出是否將轉換套用至 Stroke 物件的 DrawingAttributes 中筆墨的寬度。

    意義

    true

    轉換會套用至點和畫筆寬度。

    false

    轉換只會套用至點。

備註

線性轉換可能表示縮放、旋轉、轉譯及轉換的組合。

如果畫筆寬度會配合轉換適當縮放,則繪製的畫筆寬度計算方式,是將指定的畫筆寬度 (未指定時預設為 53) 與轉換的行列式平方根相乘。

範例

這個 C# 範例會沿著筆劃週框方塊的中心,依因數 2 縮放 Stroke 物件 (theStroke)。筆墨的寬度也會依因數 2 縮放。

using System.Drawing.Drawing2D;
//...
Matrix inkTransform = new Matrix();
Rectangle inkBounds = theStroke.GetBoundingBox();
PointF center = new PointF(0.5f * (inkBounds.Left + inkBounds.Right),
                           0.5f * (inkBounds.Top + inkBounds.Bottom));
// Translate to center of bounding box
inkTransform.Translate(center.X, center.Y);
// Scale by factor of 2
inkTransform.Scale(2.0F, 2.0F);
// Translate back
inkTransform.Translate(-center.X, -center.Y);
// Transform stroke
theStroke.Transform(inkTransform, true);

這個 Microsoft Visual Basic .NET 範例會沿著筆劃週框方塊的中心,依因數 2 縮放 Stroke 物件 (theStroke)。筆墨的寬度也會依因數 2 縮放。

Imports System.Drawing.Drawing2D
'...
Dim inkTransform As New Matrix()
Dim inkBounds As Rectangle = theStroke.GetBoundingBox()
Dim center As New PointF(0.5F * (inkBounds.Left + inkBounds.Right), _
                         0.5F * (inkBounds.Top + inkBounds.Bottom))
'Translate to center of bounding box
inkTransform.Translate(center.X, center.Y)
'Scale by a factor of 2
inkTransform.Scale(2.0F, 2.0F)
'Translate back
inkTransform.Translate(-center.X, -center.Y)
'Transform stroke
theStroke.Transform(inkTransform, True)

平台

Windows Vista

.NET Framework 和 .NET Compact Framework 並不支援各種平台的所有版本。如需支援平台版本的相關資訊,請參閱 .NET Framework 系統需求

版本資訊

.NET Framework

支援版本:3.0

請參閱

參考

Stroke 類別

Stroke 成員

Transform 多載

Microsoft.Ink 命名空間

Transform

Stroke.Move

Stroke.Rotate

Strokes.Transform