Compartilhar via


Stroke.Transform(Matrix, Boolean) Método

Definição

Executa uma transformação com base no objeto Matrix especificado.

public:
 virtual void Transform(System::Windows::Media::Matrix transformMatrix, bool applyToStylusTip);
public virtual void Transform (System.Windows.Media.Matrix transformMatrix, bool applyToStylusTip);
abstract member Transform : System.Windows.Media.Matrix * bool -> unit
override this.Transform : System.Windows.Media.Matrix * bool -> unit
Public Overridable Sub Transform (transformMatrix As Matrix, applyToStylusTip As Boolean)

Parâmetros

transformMatrix
Matrix

O objeto Matrix que define a transformação.

applyToStylusTip
Boolean

true para aplicar a transformação à ponta da caneta; caso contrário, false.

Exemplos

O exemplo a seguir demonstra como transformar um Stroke objeto.

protected DrawingVisual DrawDCOnly(Stroke myStroke)
{
    // Create new Visual context to draw on
    DrawingVisual myVisual = new DrawingVisual();
    DrawingContext myContext = myVisual.RenderOpen();

    // myMatrix is scaled by:
    // myMatrix.Scale(0.5, 0.5)
    myStroke.Transform(myMatrix, false);

    // Draw the stroke on the Visual context using DrawingContext
    myStroke.Draw(myContext);

    // Close the context
    myContext.Close();

    return myVisual;
}
Function DrawDCOnly(ByVal myStroke As Stroke) As DrawingVisual

    ' Create new Visual context to draw on
    Dim myVisual As DrawingVisual = New DrawingVisual()
    Dim myContext As DrawingContext = myVisual.RenderOpen()

    ' myMatrix is scaled by:
    ' myMatrix.Scale(0.5, 0.5)
    myStroke.Transform(myMatrix, False)

    ' Draw the stroke on the Visual context using DrawingContext
    myStroke.Draw(myContext)

    ' Close the context
    myContext.Close()

    Return myVisual

End Function

Comentários

O Matrix objeto representa uma matriz 3x3 usada para transformações no espaço bidimensional. Cada ponto do objeto Stroke é transformado pela Matriz fornecida. Por exemplo, se o valor point.X original for 100, o valor point.Y original for 55 e a transformação Matrix.Scale(0,5, 0,5), o novo valor Point.X será 50 e o novo valor Point.Y será 27,5.

Aplica-se a