Metodo Stroke.Transform (Matrix, Boolean)
Aggiornamento: novembre 2007
Applica una trasformazione lineare a un oggetto Stroke con la possibilità di applicare la trasformazione allo spessore della penna.
Spazio dei nomi: Microsoft.Ink
Assembly: Microsoft.Ink (in Microsoft.Ink.dll)
Sintassi
'Dichiarazione
Public Sub Transform ( _
inkTransform As Matrix, _
applyOnPenWidth As Boolean _
)
'Utilizzo
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
)
Parametri
- inkTransform
Tipo: System.Drawing.Drawing2D.Matrix
Trasformazione System.Drawing.Drawing2D.Matrix da utilizzare sull'oggetto Stroke.
- applyOnPenWidth
Tipo: System.Boolean
Valore booleano che indica se applicare la trasformazione allo spessore dell'input penna nell'oggetto DrawingAttributes dell'oggetto Stroke.Valore
Significato
true
La trasformazione viene applicata sia ai punti, sia allo spessore della penna.
false
La trasformazione viene applicata solo ai punti.
Note
La trasformazione lineare può rappresentare ridimensionamento, rotazione, traslazione e combinazioni di trasformazioni.
Se lo spessore della penna viene ridimensionato in modo appropriato per la trasformazione, lo spessore della penna disegnato viene calcolato moltiplicando lo spessore della penna specificato (o, in caso contrario, il valore predefinito 53) per la radice quadrata del determinante della trasformazione.
Esempi
In questo esempio di C# viene ridimensionato un oggetto Stroke, theStroke, in base a un fattore di due attorno al centro del riquadro del tratto. Lo spessore dell'input penna viene ridimensionato anche in base a un fattore pari a due.
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);
In questo esempio di Microsoft Visual Basic .NET viene ridimensionato un oggetto Stroke, theStroke, in base a un fattore di due attorno al centro del riquadro del tratto. Lo spessore dell'input penna viene ridimensionato anche in base a un fattore pari a due.
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)
Piattaforme
Windows Vista
.NET Framework e .NET Compact Framework non supportano tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.
Informazioni sulla versione
.NET Framework
Supportato in: 3.0