IRenderContext2D

StockSharp.Xaml.Charting.Rendering.Common

Definiert die Schnittstelle zu einem 2D RenderContext, so dass Zeichnung, Blitting und Erstellen von Stiften und Bürsten auf dem RenderSurfaceBase @

Implementiert: IDisposable

Eigenschaften

Layers
public RenderOperationLayers Layers { get; }
value = iRenderContext2D.Layers

Erhaltet eine Sammlung von RenderOperationLayers, mit denen Rendering-Operationen in eine geschichtete Warteschlange für die spätere Ausführung in der Reihenfolge (und korrekte Z-Ordnung) gepostet werden können.

ViewportSize
public Size ViewportSize { get; }
value = iRenderContext2D.ViewportSize

Bekommt die aktuelle Größe des Viewports.

Methoden

BeginLine
public IPathDrawingContext BeginLine(IPen2D pen, double startX, double startY)
result = iRenderContext2D.BeginLine(pen, startX, startY)

Beginnt ein Polyline-Segment und gibt die IPathDrawingContext zurück. Dies ist der schnellste Weg, um Linien zu zeichnen und einfach ein Proxy zu Point} -Methode.

pen
Der Stift für das Liniensegment
startX
Start-X-Koordinate (Pixel coord)
startY
Die Start-Y-Koordinate (Pixel coord)

Rückgabe: Die IPathDrawingContext, um die Linie fortzusetzen

BeginPolygon
public IPathDrawingContext BeginPolygon(IBrush2D brush, double startX, double startY, double gradientRotationAngle)
result = iRenderContext2D.BeginPolygon(brush, startX, startY, gradientRotationAngle)

Beginnt ein ausgefülltes Polygon-Segment und gibt die IPathDrawingContext zurück. Dies ist der schnellste Weg, um Polygon und einfach einen Proxy zu Double zu zeichnen.

brush
Die Bürste für die Polygonfüllung
startX
Start-X-Koordinate (Pixel coord)
startY
Die Start-Y-Koordinate (Pixel coord)
gradientRotationAngle
Der Winkel, um den die Bürste gedreht wird

Rückgabe: Das IPathDrawingContext, um das Polygon fortzusetzen

Clear
public void Clear()
iRenderContext2D.Clear()

Löscht die IRenderSurface2D

CreateBrush
public IBrush2D CreateBrush(Color color, double opacity, bool? alphaBlend)
result = iRenderContext2D.CreateBrush(color, opacity, alphaBlend)

Erstellt einen IBrush2D, der für den aktuellen Renderpass gültig ist.

color
Die Farbe des Pinsels, unterstützt die Transparenz
opacity
Die Trübung des Pinsels
alphaBlend
Wenn zutreffend, Alphablending verwenden, wenn Schattierung, wenn null, automatisch erkennen

Rückgabe: Die IBrush2D Instanz

CreateBrush
public IBrush2D CreateBrush(Brush brush, double opacity, TextureMappingMode textureMappingMode)
result = iRenderContext2D.CreateBrush(brush, opacity, textureMappingMode)

Erstellt einen IBrush2D aus WPF Brush, der für den aktuellen Renderpass gültig ist.

brush
Die WPF-Bürste, die als Quelle verwendet werden soll, e.g. Dies kann eine , oder es kann eine . Beachten Sie, dass Vollfarben Transparenz unterstützen und schneller sind als Gradientenbürsten
opacity
Die Trübung des Pinsels
textureMappingMode
Definiert ein TextureMappingMode, e.g @. Pinsel teilen eine Textur pro Viewport oder eine neue Textur pro Primitive gezeichnet

Rückgabe: Die IBrush2D Instanz

CreatePen
public IPen2D CreatePen(Color color, bool antiAliasing, float strokeThickness, double opacity, double[] strokeDashArray, PenLineCap strokeEndLineCap)
result = iRenderContext2D.CreatePen(color, antiAliasing, strokeThickness, opacity, strokeDashArray, strokeEndLineCap)

Erstellt eine IPen2D, die für den aktuellen Renderpass gültig ist.

color
Die Farbe des Stiftes, unterstützt die Transparenz
antiAliasing
Wenn zutreffend, verwenden Sie Antialiasing
strokeThickness
Die Strichdicke, Default = 1,0
opacity
Die Opecity des Pen
strokeDashArray
strokeEndLineCap

Rückgabe: Die IPen2D-Instanz

CreateSprite
public ISprite2D CreateSprite(FrameworkElement fe)
result = iRenderContext2D.CreateSprite(fe)

Erstellt einen Sprite aus FrameworkElement durch Rendern in Bitmap. Dies kann in der Point-Methode verwendet werden, um wiederholt auf den Bildschirm zu ziehen

fe
DigitMaxSize
public Size DigitMaxSize(float fontSize, string fontFamily, FontWeight fontWeight)
result = iRenderContext2D.DigitMaxSize(fontSize, fontFamily, fontWeight)

maximale Zifferngröße in Pixeln

DisposeResourceAfterDraw
public void DisposeResourceAfterDraw(IDisposable disposable)
iRenderContext2D.DisposeResourceAfterDraw(disposable)

Rufen Sie diese Methode auf, indem Sie die IDisposable-Instanz nach Abschluss des Render-Passes übergeben, intern von Ultrachart aufgerufen, um Direct2D- und Direct3D-Pinsel und Texturen zu entsorgen.

disposable
DrawEllipse
public void DrawEllipse(IPen2D strokePen, IBrush2D fillBrush, Point center, double width, double height)
iRenderContext2D.DrawEllipse(strokePen, fillBrush, center, width, height)

Zeichnet eine Ellipse auf IRenderSurface2D mit dem angegebenen Umriss IPen2D und füllen Sie IBrush2D

strokePen
Der Hubfederhalter
fillBrush
Die Füllbürste
center
Die Mitte der Ellipse in Pixeln
width
Die Breite der Ellipse in Pixeln
height
Die Höhe der Ellipse in Pixeln
DrawEllipses
public void DrawEllipses(IPen2D strokePen, IBrush2D fillBrush, IEnumerable<Point> centres, double width, double height)
iRenderContext2D.DrawEllipses(strokePen, fillBrush, centres, width, height)

Zeichnet 0..N Ellipsen an den Punkten mit der gleichen Breite, Höhe, Feder und Bürste

strokePen
fillBrush
centres
Die Punkte, um Ellipsen zu zeichnen
width
Die gemeinsame Breite für alle Ellipsen
height
Die gemeinsame Höhe für alle Ellipsen
DrawLine
public void DrawLine(IPen2D pen, Point pt1, Point pt2)
iRenderContext2D.DrawLine(pen, pt1, pt2)

Zeichnet eine einzelne Zeile auf dem IRenderSurface2D mit der angegebenen IPen2D. Hinweis für eine schnellere Implementierung in einigen Rasterizern, verwenden Sie DrawLines Passing in einem IEnumerable

pen
Die Feder
pt1
Der Anfang der Zeile in Pixeln
pt2
Das Ende der Zeile in Pixeln
DrawLines
public void DrawLines(IPen2D pen, IEnumerable<Point> points)
iRenderContext2D.DrawLines(pen, points)

Zeichnet eine Mehrpunktlinie auf IRenderSurface2D mit der angegebenen IPen2D

pen
Die Feder
points
Die Punkte

Rückgabe: Der letzte Punkt in der Polylinie gezeichnet

DrawPixelsVertically
public void DrawPixelsVertically(int x, int yStartBottom, int yEndTop, IList<int> pixelColorsArgb, double opacity, bool yAxisIsFlipped)
iRenderContext2D.DrawPixelsVertically(x, yStartBottom, yEndTop, pixelColorsArgb, opacity, yAxisIsFlipped)

Zeichnet vertikale Scan-Linie für Heatmap von unten nach oben, von yStart bis yEnd @

x
Bildschirm X koordiniert, wo Pixel zu zeichnen
yStartBottom
Bildschirm-Y-Koordinate der vertikalen Abtastzeile unten: kann außerhalb des sichtbaren Bereichs liegen, in diesem Fall sind nicht alle Pixel in der Liste gerendert
yEndTop
Bildschirm-Y-Koordinate der vertikalen Scan-Linie oben. Kann außerhalb des sichtbaren Bereichs liegen, in diesem Fall sind nicht alle Pixel in der Liste gerendert
pixelColorsArgb
Die Liste der Pixelfarben, die Sie zeichnen möchten
opacity
Die Opacity der Linie von 0,0 bis 1,0
yAxisIsFlipped
Wenn auf true gesetzt, wird die y-Achse umgedreht.
DrawQuad
public void DrawQuad(IPen2D pen, Point pt1, Point pt2)
iRenderContext2D.DrawQuad(pen, pt1, pt2)

Zeichnet ein Quad auf IRenderSurface2D mit der angegebenen IPen2D

pen
Der Stift
pt1
Links oben im Quad
pt2
Rechts unten im Quad
DrawSprite
public void DrawSprite(ISprite2D srcSprite, Rect srcRect, Point destPoint)
iRenderContext2D.DrawSprite(srcSprite, srcRect, destPoint)

Blits das Quellbild auf die IRenderSurface2D

srcSprite
Die Quelle sprite zum Rendern
srcRect
Das Quellrechteck
destPoint
Der Zielpunkt, der die obere linke Koordinate des Sprite nach dem Blitting sein wird
DrawSprites
public void DrawSprites(ISprite2D sprite2D, IEnumerable<Rect> dstRects)
iRenderContext2D.DrawSprites(sprite2D, dstRects)

Batch ziehen Sie den Quell-Sprite auf IRenderSurface2D @

sprite2D
Der Sprite zum Rendern
dstRects
Die Zielrechtecke, um Sprites anzuziehen
DrawSprites
public void DrawSprites(ISprite2D sprite2D, Rect srcRect, IEnumerable<Point> points)
iRenderContext2D.DrawSprites(sprite2D, srcRect, points)

Batch ziehen Sie den Quell-Sprite auf IRenderSurface2D @

sprite2D
Der Sprite zum Rendern
srcRect
Das Quellrechteck
points
Die Punkte, um Sprites zu zeichnen
DrawText
public void DrawText(string text, Rect dstBoundingRect, AlignmentX alignX, AlignmentY alignY, Color foreColor, float fontSize, string fontFamily, FontWeight fontWeight)
iRenderContext2D.DrawText(text, dstBoundingRect, alignX, alignY, foreColor, fontSize, fontFamily, fontWeight)

Zeichnet Text, wenn er nicht nach draußen geht

DrawText
public void DrawText(string text, Point basePoint, AlignmentX alignX, AlignmentY alignY, Color foreColor, float fontSize, string fontFamily, FontWeight fontWeight)
iRenderContext2D.DrawText(text, basePoint, alignX, alignY, foreColor, fontSize, fontFamily, fontWeight)

Zeichnet Text relativ zum Basispunkt

FillArea
public void FillArea(IBrush2D brush, IEnumerable<Tuple<Point, Point>> lines, bool isVerticalChart, double gradientRotationAngle)
iRenderContext2D.FillArea(brush, lines, isVerticalChart, gradientRotationAngle)

Füllt einen Bereich, der die Punkte und Höhen definiert, e.g. wie in einem Bergdiagramm, mit dem Spezifie IBrush2D

brush
Der Pinsel
lines
isVerticalChart
Wert, gibt an, ob der Chart vertikal ist
gradientRotationAngle
Der Winkel, um den die Bürste gedreht wird
FillPolygon
public void FillPolygon(IBrush2D brush, IEnumerable<Point> points)
iRenderContext2D.FillPolygon(brush, points)

Füllt ein Polygon auf dem IRenderSurface2D mit dem Spezifie IBrush2D

brush
Der Pinsel
points
Die Liste der Punkte, die das geschlossene Polygon definieren, wobei X,Y im Uhrzeigersinn koordiniert
FillRectangle
public void FillRectangle(IBrush2D brush, Point pt1, Point pt2, double gradientRotationAngle)
iRenderContext2D.FillRectangle(brush, pt1, pt2, gradientRotationAngle)

Füllt ein Rechteck auf dem IRenderSurface2D mit dem angegebenen IBrush2D

brush
Der Pinsel
pt2
Der linke obere Punkt des Rechtecks
pt1
Der rechte untere Punkt des Rechtecks
gradientRotationAngle
Der Winkel, um den die Bürste gedreht wird, ist standardmäßig Null
SetPrimitvesCachingEnabled
public void SetPrimitvesCachingEnabled(bool bEnabled)
iRenderContext2D.SetPrimitvesCachingEnabled(bEnabled)

ermöglicht/deaktiviert primitves chaching Optimierung (nur Direct3D-Renderer)

TextDrawDimensions
public void TextDrawDimensions(string text, float fontSize, Color foreColor, float width, float height, string fontFamily, FontWeight fontWeight)
iRenderContext2D.TextDrawDimensions(text, fontSize, foreColor, width, height, fontFamily, fontWeight)

Berechnen Sie den Platz, der zum Zeichnen von Text benötigt wird