RenderContextBase

StockSharp.Xaml.Charting.Rendering.Common

Define a classe base para IRenderContext2D implementos, permitindo desenhar, blitting e criação de canetas e pincéis no RenderSurfaceBase

Implementa: IRenderContext2D, IDisposable

Propriedades

Layers
public abstract RenderOperationLayers Layers { get; }
value = renderContextBase.Layers

Obtém uma coleção de RenderOperationLayer layers, que permitem que operações de renderização sejam postadas em uma fila em camadas para execução posterior em ordem (e correta ordem Z).

ViewportSize
public abstract Size ViewportSize { get; }
value = renderContextBase.ViewportSize

Obtém o tamanho da janela actual para esta operação de renderização

Métodos

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

Inicia um segmento de linha poli, devolvendo o método IPathDrawingContext. Esta é a maneira mais rápida de desenhar linhas e simplesmente um proxy para Ponto}).

pen
A caneta para o segmento de linha
startX
A coordenada inicial do X (coord de pixel)
startY
A coordenada inicial Y (pixel coord)

Retorna: A IPathDrawingContext para continuar a linha

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

Inicia um segmento de polígono preenchido, devolvendo o método IPathDrawingContext. Esta é a maneira mais rápida de desenhar polígono e simplesmente um proxy para o Double).

brush
O pincel para o preenchimento do polígono
startX
A coordenada inicial do X (coord de pixel)
startY
A coordenada inicial Y (pixel coord)
gradientRotationAngle
O ângulo pelo qual o pincel é rodado

Retorna: O IPathDrawingContextpara continuar o polígono

Clear
public abstract void Clear()
renderContextBase.Clear()

Limpa o IRenderSurface2D

ClipArea
protected IEnumerable<Point> ClipArea(IEnumerable<Tuple<Point, Point>> lines)
result = renderContextBase.ClipArea(lines)

Usado internamente para cortar a área de StackedMountainSeries para a viewport

lines
Coleta de linhas, que representam limites de um segmento de polígono
ClipArea
protected IEnumerable<Point> ClipArea(IEnumerable<Point> points, int xExtension, int yExtension)
result = renderContextBase.ClipArea(points, xExtension, yExtension)

Usado internamente para cortar um polígono ou segmento de linha na janela

ClipLine
internal static bool ClipLine(Point pt1, Point pt2, Size viewportSize)
result = RenderContextBase.ClipLine(pt1, pt2, viewportSize)

Retorna: falso se a linha estiver fora da área visível

ClipZeroLineForArea
protected double ClipZeroLineForArea(double zeroLine, bool isVerticalChart)
result = renderContextBase.ClipZeroLineForArea(zeroLine, isVerticalChart)

Usado internamente: Corta a linha zero (e.g. in mountain fills) para a viewport

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

Cria um IBrush2D válido para o passe de renderização atual. Use isto para desenhar retângulos, polígonos e áreas sombreadas

color
A cor do pincel, suporta transparência
opacity
A opacidade da escova
alphaBlend
Se for verdadeiro, use o alfablending ao sombrear. Se for nulo, detecte automaticamente da cor

Retorna: A instância IBrush2D

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

Cria um IBrush2D a partir do Pincel WPF válido para o passe de renderização atual. Use isto para desenhar retângulos, polígonos e áreas sombreadas

brush
O Pincel WPF para usar como fonte, e.g. isto pode ser um , ou pode ser um . Note que cores sólidas suportam transparência e são mais rápidas do que escovas gradiente
opacity
A opacidade da escova
textureMappingMode

Retorna: A instância IBrush2D

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

Cria um IPen2D válido para o passe de renderização atual. Use isto para desenhar contornos, quads e linhas

color
A cor da caneta, suporta a transparência
antiAliasing
Se for verdadeiro, utilize antialiasing
strokeThickness
A braçada, padrão=1.0
opacity
A opecidade da caneta
strokeDashArray
strokeEndLineCap

Retorna: A instância IPen2D

CreateSprite
public abstract ISprite2D CreateSprite(FrameworkElement fe)
result = renderContextBase.CreateSprite(fe)

Cria uma imagem a partir de FrameworkElement, renderizando para bitmap. Isto pode ser usado no método Ponto) para desenhar para o ecrã repetidamente

fe
Dispose
public abstract void Dispose()
renderContextBase.Dispose()

Executa tarefas definidas por aplicativos associadas à liberação, liberação ou redefinição de recursos não gerenciados.

DisposeResourceAfterDraw
public abstract void DisposeResourceAfterDraw(IDisposable disposable)
renderContextBase.DisposeResourceAfterDraw(disposable)

Chame este método, passando em instância IDisposable para eliminar após a passagem de renderização completa. Chamado internamente por Ultrachart para deposição preguiçosa de escovas e texturas Direct2D e Direct3D

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

Desenha uma Elipse na IRenderSurface2D usando o contorno especificado IPen2D e preenchendo IBrush2D

strokePen
A caneta de injecção
fillBrush
O pincel de preenchimento
center
O centro da elipse em pixels
width
A largura da elipse em pixels
height
A altura da elipse em pixels
DrawEllipses
public abstract void DrawEllipses(IPen2D strokePen, IBrush2D fillBrush, IEnumerable<Point> centres, double width, double height)
renderContextBase.DrawEllipses(strokePen, fillBrush, centres, width, height)

Desenha 0..N Elipses nos pontos passados com a mesma largura, altura, caneta e pincel

strokePen
fillBrush
centres
Os pontos para desenhar elipses em
width
A largura comum para todas as elipses
height
A altura comum para todas as elipses
DrawLine
public virtual void DrawLine(IPen2D pen, Point pt1, Point pt2)
renderContextBase.DrawLine(pen, pt1, pt2)

Desenha uma única linha na IRenderSurface2D usando o IPen2D especificado. Nota para uma implementação mais rápida em alguns rasterizadores, use DrawLines

pen
A caneta
pt1
O início da linha em pixels
pt2
O fim da linha em pixels
DrawLines
public virtual void DrawLines(IPen2D pen, IEnumerable<Point> points)
renderContextBase.DrawLines(pen, points)

Desenha uma linha multipontos na IRenderSurface2D usando o IPen2D indicado

pen
A caneta
points
Os pontos.
DrawPixelsVertically
public abstract void DrawPixelsVertically(int x, int yStartBottom, int yEndTop, IList<int> pixelColorsArgb, double opacity, bool yAxisIsFlipped)
renderContextBase.DrawPixelsVertically(x, yStartBottom, yEndTop, pixelColorsArgb, opacity, yAxisIsFlipped)

Desenha a linha de procura vertical para a mapa de calor de baixo para cima, de yStart para yEnd

x
Tela X coordenar onde desenhar pixels
yStartBottom
Coordenação Y do ecrã da linha vertical de procura. Pode ser localizada em desnível da área visível, neste caso nem todos os pixels na lista são renderizados
yEndTop
Coordenação Y do topo da linha de digitalização vertical. Pode ser localizada em desnível da área visível, neste caso nem todos os pixels na lista são renderizados
pixelColorsArgb
As cores a aplicar na linha de varredura vertical
opacity
A opacidade da escala vertical, de 0,0 a 1,0
yAxisIsFlipped
se definido para true então o eixo y é virado.
DrawQuad
public virtual void DrawQuad(IPen2D pen, Point pt1, Point pt2)
renderContextBase.DrawQuad(pen, pt1, pt2)

Desenha um Quad no IRenderSurface2D usando o IPen2D especificado

pen
A caneta
pt1
pt2
DrawSprite
public abstract void DrawSprite(ISprite2D srcSprite, Rect srcRect, Point destPoint)
renderContextBase.DrawSprite(srcSprite, srcRect, destPoint)

Blits a imagem de origem na IRenderSurface2D

srcSprite
A imagem de origem a renderizar
srcRect
O retângulo de origem
destPoint
O ponto de destino, que será a coordenada superior esquerda da imagem após blitting
DrawSprites
public abstract void DrawSprites(ISprite2D sprite2D, Rect srcRect, IEnumerable<Point> points)
renderContextBase.DrawSprites(sprite2D, srcRect, points)

Desenho em lote da imagem de origem na IRenderSurface2D

sprite2D
A imagem a renderizar
srcRect
O retângulo de origem
points
Os pontos para desenhar imagens em
DrawSprites
public abstract void DrawSprites(ISprite2D sprite2D, IEnumerable<Rect> dstRects)
renderContextBase.DrawSprites(sprite2D, dstRects)

Desenho em lote da imagem de origem na IRenderSurface2D

sprite2D
A imagem a renderizar
dstRects
Os retângulos de destino para desenhar as imagens em
DrawText
public void DrawText(string text, Rect dstBoundingRect, AlignmentX alignX, AlignmentY alignY, Color foreColor, float fontSize, string fontFamily, FontWeight fontWeight)
renderContextBase.DrawText(text, dstBoundingRect, alignX, alignY, foreColor, fontSize, fontFamily, fontWeight)

Desenha o texto se não for para fora

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

Desenha o texto em relação ao ponto base

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

Preenche uma área, limitada por dois segmentos de linha, e.g. como num gráfico de montanha empilhado, usando o IBrush2D especificado

brush
O pincel
lines
A lista de linhas que representam segmentos de polígono
isVerticalChart
Valor, indica se o gráfico é vertical
gradientRotationAngle
O ângulo pelo qual o pincel é rodado
FillPolygon
public virtual void FillPolygon(IBrush2D brush, IEnumerable<Point> points)
renderContextBase.FillPolygon(brush, points)

Preenche um polígono no IRenderSurface2D usando a especificação IBrush2D

brush
O pincel
points
A lista de pontos que definem o polígono fechado, onde X, Y coordena no sentido horário
FillRectangle
public abstract void FillRectangle(IBrush2D brush, Point pt1, Point pt2, double gradientRotationAngle)
renderContextBase.FillRectangle(brush, pt1, pt2, gradientRotationAngle)

Preenche um retângulo na IRenderSurface2D usando o IBrush2D especificado

brush
O pincel
pt1
pt2
gradientRotationAngle
O ângulo pelo qual o pincel é rodado
IsInBounds
protected bool IsInBounds(Point pt)
result = renderContextBase.IsInBounds(pt)

Retorna true se o ponto estiver dentro da janela

SetPrimitvesCachingEnabled
public virtual void SetPrimitvesCachingEnabled(bool bEnabled)
renderContextBase.SetPrimitvesCachingEnabled(bEnabled)

permite/desativa primitves chaching optimization (apenas renderizador Direct3D )