NodeRendererBase

NodeRendererBase class

Базовый класс дляShapeRenderer иOfficeMathRenderer .

Чтобы узнать больше, посетитеРабота с фигурами документальная статья.

public abstract class NodeRendererBase

Характеристики

ИмяОписание
BoundsInPoints { get; }Получает фактические границы фигуры в точках.
OpaqueBoundsInPoints { get; }Получает непрозрачные границы фигуры в точках.
SizeInPoints { get; }Получает фактический размер фигуры в точках.

Методы

ИмяОписание
GetBoundsInPixels(float, float)Вычисляет границы фигуры в пикселях для указанного коэффициента масштабирования и разрешения.
GetBoundsInPixels(float, float, float)Вычисляет границы фигуры в пикселях для указанного коэффициента масштабирования и разрешения.
GetOpaqueBoundsInPixels(float, float)Вычисляет непрозрачные границы фигуры в пикселях для указанного коэффициента масштабирования и разрешения.
GetOpaqueBoundsInPixels(float, float, float)Вычисляет непрозрачные границы фигуры в пикселях для указанного коэффициента масштабирования и разрешения.
GetSizeInPixels(float, float)Вычисляет размер фигуры в пикселях для указанного коэффициента масштабирования и разрешения.
GetSizeInPixels(float, float, float)Вычисляет размер фигуры в пикселях для указанного коэффициента масштабирования и разрешения.
RenderToScale(Graphics, float, float, float)Отображает форму вGraphics объект в указанном масштабе.
RenderToSize(Graphics, float, float, float, float)Отображает форму вGraphics объект указанного размера.
Save(Stream, ImageSaveOptions)Визуализирует форму в изображение и сохраняет в поток.
Save(Stream, SvgSaveOptions)Отображает форму в виде изображения SVG и сохраняет в потоке.
Save(string, ImageSaveOptions)Преобразует форму в изображение и сохраняет в файл.
Save(string, SvgSaveOptions)Визуализирует фигуру в изображение SVG и сохраняет в файл.

Примеры

Показывает, как измерять и масштабировать фигуры.

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

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

// Проверяем размер изображения, которое объект OfficeMath создаст при его рендеринге.
Assert.AreEqual(122.0f, renderer.SizeInPoints.Width, 0.25f);
Assert.AreEqual(13.0f, renderer.SizeInPoints.Height, 0.15f);

Assert.AreEqual(122.0f, renderer.BoundsInPoints.Width, 0.25f);
Assert.AreEqual(13.0f, renderer.BoundsInPoints.Height, 0.15f);

// Фигуры с прозрачными частями могут содержать разные значения в свойствах «OpaqueBoundsInPoints».
Assert.AreEqual(122.0f, renderer.OpaqueBoundsInPoints.Width, 0.25f);
Assert.AreEqual(14.2f, renderer.OpaqueBoundsInPoints.Height, 0.1f);

// Получить размер фигуры в пикселях с линейным масштабированием до определенного DPI.
Rectangle bounds = renderer.GetBoundsInPixels(1.0f, 96.0f);

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

// Получить размер фигуры в пикселях, но с разным DPI для горизонтальных и вертикальных размеров.
bounds = renderer.GetBoundsInPixels(1.0f, 96.0f, 150.0f);
Assert.AreEqual(163, bounds.Width);
Assert.AreEqual(27, bounds.Height);

// Непрозрачные границы здесь также могут различаться.
bounds = renderer.GetOpaqueBoundsInPixels(1.0f, 96.0f);

Assert.AreEqual(163, bounds.Width);
Assert.AreEqual(19, bounds.Height);

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

Assert.AreEqual(163, bounds.Width);
Assert.AreEqual(29, bounds.Height);

Смотрите также