protected override void OnRender(ChartControl chartControl, ChartScale chartScale)
{
base.OnRender(chartControl, chartScale);
// define the point for the text to render
SharpDX.Vector2 startPoint = new SharpDX.Vector2(ChartPanel.X, ChartPanel.Y + 20);
// construct the text format with desired font family and size
SharpDX.DirectWrite.TextFormat textFormat = new SharpDX.DirectWrite.TextFormat(Core.Globals.DirectWriteFactory, "Arial", 12);
int textOffset1 = 5;
int textOffset2 = 25;
int textOffset3 = 45;
// construct the rectangleF struct to describe the position and size the text
SharpDX.RectangleF rectangleF1 = new SharpDX.RectangleF(startPoint.X + textOffset1, startPoint.Y, ChartPanel.W, ChartPanel.H);
SharpDX.RectangleF rectangleF2 = new SharpDX.RectangleF(startPoint.X + textOffset2, startPoint.Y, ChartPanel.W, ChartPanel.H);
SharpDX.RectangleF rectangleF3 = new SharpDX.RectangleF(startPoint.X + textOffset3, startPoint.Y, ChartPanel.W, ChartPanel.H);
// define the brush used for the text
//SharpDX.Direct2D1.SolidColorBrush customDXBrush1 = new SharpDX.Direct2D1.SolidColorBrush(RenderTarget, SharpDX.Color.Blue);
//SharpDX.Direct2D1.SolidColorBrush customDXBrush2 = new SharpDX.Direct2D1.SolidColorBrush(RenderTarget, SharpDX.Color.Red);
//SharpDX.Direct2D1.SolidColorBrush customDXBrush3 = new SharpDX.Direct2D1.SolidColorBrush(RenderTarget, SharpDX.Color.Yellow);
// execute the render target text command with desired values
RenderTarget.DrawText(myText1, textFormat, rectangleF1, customDXBrush1);
RenderTarget.DrawText(myText2, textFormat, rectangleF2, customDXBrush1);
RenderTarget.DrawText(myText3, textFormat, rectangleF3, customDXBrush1);
// always dispose of textFormat when finished
textFormat.Dispose();
// always dipose of brush when finished
customDXBrush1.Dispose();
customDXBrush2.Dispose();
customDXBrush3.Dispose();
}
Announcement
Collapse
No announcement yet.
Partner 728x90
Collapse
NinjaTrader
Use of LineMetrics
Collapse
X
-
Use of LineMetrics
Hi, I'm trying to place lines of 'random' length text next to each other horizontally. Each piece of text is a different color so (I assume) it can't be one text object. So I'm trying to work out the width of each piece of text so that I can place the next text without overlapping the previous one. I'm assuming I need to use 'LineMetrics' but I can't find any examples. I'd appreciate an example. So in my example code below, how do I set textOffset1, 2 and 3 automatically? Thanks
Code:Tags: None
Latest Posts
Collapse
| Topics | Statistics | Last Post | ||
|---|---|---|---|---|
|
Started by CarlTrading, 03-31-2026, 09:41 PM
|
1 response
133 views
1 like
|
Last Post
|
||
|
Started by CarlTrading, 04-01-2026, 02:41 AM
|
0 responses
75 views
1 like
|
Last Post
by CarlTrading
04-01-2026, 02:41 AM
|
||
|
Started by CaptainJack, 03-31-2026, 11:44 PM
|
0 responses
117 views
2 likes
|
Last Post
by CaptainJack
03-31-2026, 11:44 PM
|
||
|
Started by CarlTrading, 03-30-2026, 11:51 AM
|
0 responses
113 views
1 like
|
Last Post
by CarlTrading
03-30-2026, 11:51 AM
|
||
|
Started by CarlTrading, 03-30-2026, 11:48 AM
|
0 responses
90 views
0 likes
|
Last Post
by CarlTrading
03-30-2026, 11:48 AM
|

Comment