NodeRendererBase

NodeRendererBase class

Classe de base pourShapeRenderer etOfficeMathRenderer .

Pour en savoir plus, visitez leTravailler avec des formes article documentaire.

public abstract class NodeRendererBase

Propriétés

NomLa description
BoundsInPoints { get; }Obtient les limites réelles de la forme en points.
OpaqueBoundsInPoints { get; }Obtient les limites opaques de la forme en points.
SizeInPoints { get; }Obtient la taille réelle de la forme en points.

Méthodes

NomLa description
GetBoundsInPixels(float, float)Calcule les limites de la forme en pixels pour un facteur de zoom et une résolution spécifiés.
GetBoundsInPixels(float, float, float)Calcule les limites de la forme en pixels pour un facteur de zoom et une résolution spécifiés.
GetOpaqueBoundsInPixels(float, float)Calcule les limites opaques de la forme en pixels pour un facteur de zoom et une résolution spécifiés.
GetOpaqueBoundsInPixels(float, float, float)Calcule les limites opaques de la forme en pixels pour un facteur de zoom et une résolution spécifiés.
GetSizeInPixels(float, float)Calcule la taille de la forme en pixels pour un facteur de zoom et une résolution spécifiés.
GetSizeInPixels(float, float, float)Calcule la taille de la forme en pixels pour un facteur de zoom et une résolution spécifiés.
RenderToScale(Graphics, float, float, float)Rend la forme dans unGraphics objet à une échelle spécifiée.
RenderToSize(Graphics, float, float, float, float)Rend la forme dans unGraphics objet à une taille spécifiée.
Save(Stream, ImageSaveOptions)Rend la forme dans une image et l’enregistre dans un flux.
Save(string, ImageSaveOptions)Rend la forme dans une image et l’enregistre dans un fichier.

Exemples

Montre comment mesurer et mettre à l’échelle des formes.

Document doc = new Document(MyDir + "Office math.docx");

OfficeMath officeMath = (OfficeMath)doc.GetChild(NodeType.OfficeMath, 0, true);
OfficeMathRenderer renderer = new OfficeMathRenderer(officeMath);

// Vérifiez la taille de l'image que l'objet OfficeMath créera lors du rendu.
Assert.AreEqual(119.0f, renderer.SizeInPoints.Width, 0.2f);
Assert.AreEqual(13.0f, renderer.SizeInPoints.Height, 0.1f);

Assert.AreEqual(119.0f, renderer.BoundsInPoints.Width, 0.2f);
Assert.AreEqual(13.0f, renderer.BoundsInPoints.Height, 0.1f);

// Les formes avec des parties transparentes peuvent contenir des valeurs différentes dans les propriétés "OpaqueBoundsInPoints".
Assert.AreEqual(119.0f, renderer.OpaqueBoundsInPoints.Width, 0.2f);
Assert.AreEqual(14.2f, renderer.OpaqueBoundsInPoints.Height, 0.1f);

// Obtenez la taille de la forme en pixels, avec une mise à l'échelle linéaire vers un DPI spécifique.
Rectangle bounds = renderer.GetBoundsInPixels(1.0f, 96.0f);

Assert.AreEqual(159, bounds.Width);
Assert.AreEqual(18, bounds.Height);

// Récupère la taille de la forme en pixels, mais avec un DPI différent pour les dimensions horizontales et verticales.
bounds = renderer.GetBoundsInPixels(1.0f, 96.0f, 150.0f);
Assert.AreEqual(159, bounds.Width);
Assert.AreEqual(28, bounds.Height);

// Les limites opaques peuvent également varier ici.
bounds = renderer.GetOpaqueBoundsInPixels(1.0f, 96.0f);

Assert.AreEqual(159, bounds.Width);
Assert.AreEqual(18, bounds.Height);

bounds = renderer.GetOpaqueBoundsInPixels(1.0f, 96.0f, 150.0f);

Assert.AreEqual(159, bounds.Width);
Assert.AreEqual(30, bounds.Height);

Voir également