BrickGraphics.MeasureString(String, Int32, StringFormat) Method
Measures the specified string when drawn with the specified maximum width and format. Works in Windows environment only.
Namespace: DevExpress.XtraPrinting
Assembly: DevExpress.Printing.v24.2.Core.dll
Declaration
Parameters
Name | Type | Description |
---|---|---|
text | String | String to measure. |
width | Int32 | An integer value specifying the maximum width of the measured string. |
stringFormat | StringFormat | The formatting settings for the measured string. |
Returns
Type | Description |
---|---|
SizeF | This method returns a SizeF structure that represents the size, measured in pixels. |
Remarks
This method measures a text string specified via the parameter. The resulting string size is determined not only by the string’s contents, but also by the BrickGraphics.Font property value. The measured string size also depends on the current string format. If measured string width exceeds the width parameter value, then the height parameter value of the returned SizeF structure is increased, in order to fit inside the measured string.
This method overload uses GDI/GDI+ rendering and works only on Windows OS. The
PlatformNotSupportedException
is thrown on other operating systems. Use the BrickGraphics.MeasureString(String, Int32, DXStringFormat) overload in non-Windows environments.
Example
This example calculates the dimensions of the rectangle to fit the specified string with a limitation on maximum width (75 measurement units). The calculation is performed according to the specified StringFormat parameter. Then, a report with the VisualBrick, containing the string, is created and displayed.
using DevExpress.XtraPrinting;
// ...
VisualBrick visBrick;
BrickGraphics brickGraph = printingSystem1.Graph;
string s = "Developer Express Inc.";
// Specify the vertical alignment.
StringFormat sFormat = new StringFormat(StringFormatFlags.DirectionVertical);
// Measure the string with the specified format and maximum width.
SizeF sz = brickGraph.MeasureString(s,75,sFormat);
// Start the report generation.
printingSystem1.Begin();
// Specify a page area.
brickGraph.Modifier = BrickModifier.Detail;
// Set default vertical alignment for the text in bricks.
brickGraph.DefaultBrickStyle.StringFormat = new BrickStringFormat(sFormat);
// Create a rectangle of the calculated size plus the border dimensions.
RectangleF rect = new RectangleF(new PointF(0, 0), sz);
rect = brickGraph.DefaultBrickStyle.InflateBorderWidth(rect, GraphicsDpi.Pixel);
rect.Offset(-rect.X, -rect.Y);
// Add a text brick to the report.
visBrick = brickGraph.DrawString(s, Color.Black, rect, BorderSide.All);
// Finish the report generation.
printingSystem1.End();
// Preview the report.
printingSystem1.PreviewFormEx.Show();