다음을 통해 공유


Stroke.Transform 메서드 (Matrix, Boolean)

업데이트: 2007년 11월

펜 너비에 변환을 적용하는 옵션을 사용하여 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# 예제에서는 스트로크의 경계 상자를 기준으로 두 배만큼 Stroke 개체인 theStroke의 배율을 조정합니다. 잉크 너비의 배율도 두 배로 조정됩니다.

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 예제에서는 스트로크의 경계 상자를 기준으로 두 배만큼 Stroke 개체인 theStroke의 배율을 조정합니다. 잉크 너비의 배율도 두 배로 조정됩니다.

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