IRenderContext2D

StockSharp.Xaml.Charting.Rendering.Common

Define la interfaz a un 2D RenderContext, permitiendo el dibujo, la blitting y la creación de plumas y pinceles en el RenderSurfaceBase

Implementa: IDisposable

Propiedades

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

Consigue una colección de RenderOperationLayers@, que permite que las operaciones de renderización sean publicadas en una cola de capa para posterior ejecución (y correcto Z-ordering).

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

Consigue el tamaño actual del puerto de visión.

Métodos

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

Comienza un segmento de Polyline, regresando el IPathDrawingContext. Esta es la manera más rápida de dibujar líneas y simplemente un método proxy to Point}).

pen
La pluma para el segmento de línea
startX
La coordenadas inicial X (coord de píxel)
startY
La coordenadas inicial Y (pixel coord)

Devuelve: IPathDrawingContext@ para continuar la línea

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

Comienza un segmento de polígono lleno, regresando el IPathDrawingContext. Esta es la manera más rápida de dibujar el polígono y simplemente un método proxy to Double).

brush
El cepillo para el relleno de polígono
startX
La coordenadas inicial X (coord de píxel)
startY
La coordenadas inicial Y (pixel coord)
gradientRotationAngle
El ángulo que el cepillo gira por

Devuelve: IPathDrawingContext@ para continuar el polígono

Clear
public void Clear()
iRenderContext2D.Clear()

Limpia el IRenderSurface2D

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

Crea un IBrush2D válido para el pase de renderizado actual. Usa esto para dibujar rectángulos, polígonos y áreas sombreadas

color
El color del pincel, soporta la transparencia
opacity
La opacidad del pincel
alphaBlend
Si es verdad, usa alfablending cuando se afeita. Si es nulo, auto-detecto

Devuelve: El caso IBrush2D

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

Crea un IBrush2D de WPF Brush válido para el pase de renderizado actual. Usa esto para dibujar rectángulos, polígonos y áreas sombreadas

brush
El cepillo WPF para usar como fuente, e.g@. esto puede ser un , o puede ser un . Tenga en cuenta que los colores sólidos soportan la transparencia y son más rápidos que los cepillos gradientes
opacity
La opacidad del pincel
textureMappingMode
Defines a TextureMappingMode, e.g. pinceles comparten una textura por viewport o una nueva textura por dibujado primitivo

Devuelve: El caso IBrush2D

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)

Crea un IPen2D válido para el pase de renderizado actual. Usa esto para dibujar esbozos, cuadrículas y líneas

color
El color de la pluma, es compatible con la transparencia
antiAliasing
Si es verdad, use antialiasing
strokeThickness
El desprendimiento, predeterminado=1.0
opacity
La opacidad de la pluma
strokeDashArray
strokeEndLineCap

Devuelve: La instancia IPen2D

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

Crea un Sprite de FrameworkElement@ haciendo bitmap. Esto puede ser usado en el método Point) para dibujar en la pantalla repetidamente

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

tamaño máximo de dígitos en píxeles

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

Llame a este método, pasando en instancia IDesechable para disponer después de la pase de renderizado completo. Llamado internamente por Ultrachart a la perezosa-disposición de cepillos y texturas Direct2D y Direct3D

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

Dibuja un Ellipse en el IRenderSurface2D@ utilizando el esquema especificado IPen2D y rellenar IBrush2D

strokePen
El lápiz de trazo
fillBrush
El cepillo de relleno
center
El centro de la elipse en pixels
width
El ancho del elipse en píxeles
height
La altura del elipse en píxeles
DrawEllipses
public void DrawEllipses(IPen2D strokePen, IBrush2D fillBrush, IEnumerable<Point> centres, double width, double height)
iRenderContext2D.DrawEllipses(strokePen, fillBrush, centres, width, height)

Dibujos 0..N Elipses en los puntos pasados con el mismo ancho, altura, pluma y pincel

strokePen
fillBrush
centres
Los puntos para dibujar elipses
width
El ancho común para todos los elipses
height
La altura común para todos los elipses
DrawLine
public void DrawLine(IPen2D pen, Point pt1, Point pt2)
iRenderContext2D.DrawLine(pen, pt1, pt2)

Dibuja una sola línea en la IRenderSurface2D@ utilizando la IPen2D especificada. Nota para una implementación más rápida en algunos rasterizadores, utilice DrawLines pasando en un IEnumerable

pen
El bolígrafo
pt1
El comienzo de la línea en pixels
pt2
El final de la línea en píxeles
DrawLines
public void DrawLines(IPen2D pen, IEnumerable<Point> points)
iRenderContext2D.DrawLines(pen, points)

Dibuja una línea multipunto en el IRenderSurface2D utilizando el IPen2D especificado

pen
El bolígrafo
points
Los puntos

Devuelve: El último punto en el polígono dibujado

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)

Dibuja línea de escaneo vertical para mapa de calor desde abajo hasta arriba, desde yStart a yEnd

x
Pantalla X coordinar donde dibujar píxeles
yStartBottom
Pantalla Y coord de la línea de escaneo vertical inferior. Se puede localizar fuera de la zona visible, en este caso no todos los píxeles en la lista se renderizan
yEndTop
Pantalla Y coordenadas de la parte superior de la línea de escaneo vertical. Puede ser localizado fuera de la zona visible, en este caso no todos los píxeles en la lista se renderizan
pixelColorsArgb
La lista de colores de píxeles para dibujar
opacity
La Opacity de la línea de 0.0 a 1.0
yAxisIsFlipped
si se establece a la verdad entonces el eje y se voltea.
DrawQuad
public void DrawQuad(IPen2D pen, Point pt1, Point pt2)
iRenderContext2D.DrawQuad(pen, pt1, pt2)

Dibuja un Quad en el IRenderSurface2D utilizando el IPen2D especificado

pen
La pluma
pt1
Punto de la izquierda en el quad
pt2
Punto de la derecha en el quad
DrawSprite
public void DrawSprite(ISprite2D srcSprite, Rect srcRect, Point destPoint)
iRenderContext2D.DrawSprite(srcSprite, srcRect, destPoint)

Blits la imagen fuente en la IRenderSurface2D

srcSprite
La fuente esprita para renderizar
srcRect
El rectángulo fuente
destPoint
El punto de destino, que será la coordinación de la sprite después de la blitting
DrawSprites
public void DrawSprites(ISprite2D sprite2D, IEnumerable<Rect> dstRects)
iRenderContext2D.DrawSprites(sprite2D, dstRects)

Cajón de la fuente sprite en la IRenderSurface2D

sprite2D
El sprite para renderizar
dstRects
El destino rectángulos para dibujar sprites en
DrawSprites
public void DrawSprites(ISprite2D sprite2D, Rect srcRect, IEnumerable<Point> points)
iRenderContext2D.DrawSprites(sprite2D, srcRect, points)

Cajón de la fuente sprite en la IRenderSurface2D

sprite2D
El sprite para renderizar
srcRect
El rectángulo fuente
points
Los puntos para dibujar sprites a
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)

Dibuja texto si no sale

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)

Dibuja texto relativo al punto base

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

Rellena una zona definida los puntos y las alturas, e.g. como en una carta de montaña, utilizando el IBrush2D especificado

brush
El cepillo
lines
isVerticalChart
Valor, indica si el gráfico es vertical
gradientRotationAngle
El ángulo que el cepillo gira por
FillPolygon
public void FillPolygon(IBrush2D brush, IEnumerable<Point> points)
iRenderContext2D.FillPolygon(brush, points)

Rellena un polígono en el IRenderSurface2D utilizando el espectito IBrush2D

brush
El cepillo
points
La lista de puntos que definen el polígono cerrado, donde X,Y coordina en dirección de reloj
FillRectangle
public void FillRectangle(IBrush2D brush, Point pt1, Point pt2, double gradientRotationAngle)
iRenderContext2D.FillRectangle(brush, pt1, pt2, gradientRotationAngle)

Rellena un rectángulo en el IRenderSurface2D utilizando el IBrush2D especificado

brush
El cepillo
pt2
El punto superior izquierda del rectángulo
pt1
El punto inferior derecho del rectángulo
gradientRotationAngle
El ángulo por el que el cepillo se gira, por defecto es cero
SetPrimitvesCachingEnabled
public void SetPrimitvesCachingEnabled(bool bEnabled)
iRenderContext2D.SetPrimitvesCachingEnabled(bEnabled)

permite/desactivar los primitves de la optimización de chaching ( sólo renderizado Direct3D )

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)

Calcular espacio necesario para dibujar texto