Поделиться через


Renderer.Measure - метод (Stroke, DrawingAttributes)

Обновлен: Ноябрь 2007

Calculates the Rectangle on the device context needed to contain the Stroke object to be drawn with the Draw method of the Renderer object by using the specified DrawingAttributes.

Пространство имен:  Microsoft.Ink
Сборка:  Microsoft.Ink (в Microsoft.Ink.dll)

Синтаксис

'Декларация
Public Function Measure ( _
    stroke As Stroke, _
    da As DrawingAttributes _
) As Rectangle
'Применение
Dim instance As Renderer
Dim stroke As Stroke
Dim da As DrawingAttributes
Dim returnValue As Rectangle

returnValue = instance.Measure(stroke, _
    da)
public Rectangle Measure(
    Stroke stroke,
    DrawingAttributes da
)
public:
Rectangle Measure(
    Stroke^ stroke, 
    DrawingAttributes^ da
)
public Rectangle Measure(
    Stroke stroke,
    DrawingAttributes da
)
public function Measure(
    stroke : Stroke, 
    da : DrawingAttributes
) : Rectangle

Параметры

Возвращаемое значение

Тип: System.Drawing.Rectangle
The Rectangle on the device context needed to contain the were drawn with the Draw method of the Renderer object. The stroke must contain x-coordinates and y-coordinates to calculate the rectangle. Otherwise, the method returns an empty rectangle.

Заметки

This method is accurate only if you pass the same arguments to both the Measure and Draw methods.

Because the bounding box is affected by the pen width, this width is scaled appropriately for the Renderer object's view transform. To do this, the pen width is multiplied by the square root of the determinant of the view transform. The height and width of the bounding box are expanded by half this amount in each direction, and the right and bottom sides are incremented by one.

For example, consider that the pen width is originally 53, the square root of the determinant of the view transform is 50, and the bounding box is (0, 0, 1000, 1000). The pen width adjustment to the bounding box in each direction is calculated as (53 * 50) / 2, and the right and bottom sides are incremented by one. This results in a rendered bounding box of (-1325, -1325, 2326, 2326).

Примеры

This C# example gets the bounding rectangle for a Stroke object, theStroke, when the pen width doubles. The Renderer object comes from the InkOverlay object, theInkOverlay.

DrawingAttributes drawingAtt = theStroke.DrawingAttributes.Clone();
drawingAtt.Width = drawingAtt.Width * 2;
Rectangle bounds = theInkOverlay.Renderer.Measure(theStroke, drawingAtt);

This Microsoft® Visual Basic® .NET example gets the bounding rectangle for a Stroke object, theStroke, when the pen width doubles. The Renderer object comes from the InkOverlay object, theInkOverlay.

Dim drawingAtt As DrawingAttributes = theStroke.DrawingAttributes.Clone();
drawingAtt.Width = drawingAtt.Width * 2;
Dim bounds As Rectangle = theInkOverlay.Renderer.Measure(theStroke, drawingAtt);

Платформы

Windows Vista

Среды .NET Framework и .NET Compact Framework поддерживают не все версии каждой платформы. Поддерживаемые версии перечислены в разделе Требования к системе для .NET Framework.

Сведения о версии

.NET Framework

Поддерживается в версии: 3.0

См. также

Ссылки

Renderer Класс

Renderer - члены

Measure - перегрузка

Microsoft.Ink - пространство имен

Renderer.Draw

Stroke.GetBoundingBox

Strokes.GetBoundingBox

DrawingAttributes