LocalToParent
Contenuti
[
Nascondere
]ShapeBase.LocalToParent method
Converte un valore dallo spazio delle coordinate locali nello spazio delle coordinate della forma padre.
public PointF LocalToParent(PointF value)
Esempi
Mostra come tradurre la posizione delle coordinate x e y sul piano cartesiano di una forma in una posizione sul piano cartesiano della forma padre.
Document doc = new Document();
// Inserisci una forma di gruppo e posizionala 100 punti sotto e a destra di
// punto di origine delle coordinate x e Y del documento.
GroupShape group = new GroupShape(doc);
group.Bounds = new RectangleF(100, 100, 500, 500);
// Utilizzare il metodo "LocalToParent" per determinare che (0, 0) sulle coordinate x e y interne del gruppo
// si trova sul sistema di coordinate (100, 100) della sua forma padre. La forma padre del gruppo è il documento stesso.
Assert.AreEqual(new PointF(100, 100), group.LocalToParent(new PointF(0, 0)));
// Per impostazione predefinita, il piano cartesiano interno di una forma ha l'angolo in alto a sinistra in (0, 0),
// e l'angolo in basso a destra a (1000, 1000). Grazie alle sue dimensioni, la forma del nostro gruppo copre un'area di 500 pt x 500 pt.
// nel piano del documento. Ciò significa che uno spostamento di 1 pt sul piano cartesiano del documento si tradurrà
// a uno spostamento di 2 punti sul piano cartesiano della forma del gruppo.
Assert.AreEqual(new PointF(150, 150), group.LocalToParent(new PointF(100, 100)));
Assert.AreEqual(new PointF(200, 200), group.LocalToParent(new PointF(200, 200)));
Assert.AreEqual(new PointF(250, 250), group.LocalToParent(new PointF(300, 300)));
// Sposta l'origine degli assi x e y della forma del gruppo dall'angolo in alto a sinistra al centro.
// In questo modo le coordinate interne del gruppo verranno ulteriormente spostate rispetto alle coordinate del documento.
group.CoordOrigin = new Point(-250, -250);
Assert.AreEqual(new PointF(375, 375), group.LocalToParent(new PointF(300, 300)));
// La modifica della scala del piano cartesiano inciderà anche sulle posizioni relative.
group.CoordSize = new Size(500, 500);
Assert.AreEqual(new PointF(650, 650), group.LocalToParent(new PointF(300, 300)));
// Se desideriamo aggiungere una forma a questo gruppo definendone la posizione in base a una posizione nel documento,
// Per prima cosa dovremo confermare una posizione nella forma del gruppo che corrisponda alla posizione del documento.
Assert.AreEqual(new PointF(700, 700), group.LocalToParent(new PointF(350, 350)));
Shape shape = new Shape(doc, ShapeType.Rectangle)
{
Width = 100,
Height = 100,
Left = 700,
Top = 700
};
group.AppendChild(shape);
doc.FirstSection.Body.FirstParagraph.AppendChild(group);
doc.Save(ArtifactsDir + "Shape.LocalToParent.docx");
Guarda anche
- class ShapeBase
- spazio dei nomi Aspose.Words.Drawing
- assemblea Aspose.Words