RenderContextBase
Define la clase base para implementadores IRenderContext2D, permitiendo el dibujo, la blitting y la creación de bolígrafos y pinceles en la RenderSurfaceBase
Implementa: IRenderContext2D, IDisposable
Propiedades
public abstract RenderOperationLayers Layers { get; }
value = renderContextBase.Layers
Consigue una colección de capas RenderOperationLayer, que permiten que las operaciones de renderización sean publicadas en una cola de capas para su posterior ejecución (y correctas Z-ordering).
public abstract Size ViewportSize { get; }
value = renderContextBase.ViewportSize
Consigue el tamaño del puerto de visualización actual para esta operación de renderizado
Métodos
public abstract IPathDrawingContext BeginLine(IPen2D pen, double startX, double startY)
result = renderContextBase.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
public abstract IPathDrawingContext BeginPolygon(IBrush2D brush, double startX, double startY, double gradientRotationAngle)
result = renderContextBase.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
protected IEnumerable<Point> ClipArea(IEnumerable<Tuple<Point, Point>> lines)
result = renderContextBase.ClipArea(lines)
Utilizado internamente para cortar la zona de un StackedMountainSeries al mirador
- lines
- Colección de líneas, que representan límites de un segmento de polígono
protected IEnumerable<Point> ClipArea(IEnumerable<Point> points, int xExtension, int yExtension)
result = renderContextBase.ClipArea(points, xExtension, yExtension)
Usado internamente para cortar un polígono o un segmento de línea al puerto de visualización
internal static bool ClipLine(Point pt1, Point pt2, Size viewportSize)
result = RenderContextBase.ClipLine(pt1, pt2, viewportSize)
Devuelve: falso si la línea está fuera de la zona visible
protected double ClipZeroLineForArea(double zeroLine, bool isVerticalChart)
result = renderContextBase.ClipZeroLineForArea(zeroLine, isVerticalChart)
Utilizado internamente: Clips la línea cero (e.g@. en rellenos de montaña) al puerto de visualización
public abstract IBrush2D CreateBrush(Color color, double opacity, bool? alphaBlend)
result = renderContextBase.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, use alfablending cuando se afeita. Si es nulo, auto-detecto del color
Devuelve: El caso IBrush2D
public abstract IBrush2D CreateBrush(Brush brush, double opacity, TextureMappingMode textureMappingMode)
result = renderContextBase.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
Devuelve: El caso IBrush2D
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)
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
public abstract ISprite2D CreateSprite(FrameworkElement fe)
result = renderContextBase.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
public abstract void Dispose()
renderContextBase.Dispose()
Realiza tareas definidas por aplicaciones asociadas con la liberación, liberación o reajuste de recursos no gestionados.
public abstract void DisposeResourceAfterDraw(IDisposable disposable)
renderContextBase.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
public abstract void DrawEllipse(IPen2D strokePen, IBrush2D fillBrush, Point center, double width, double height)
renderContextBase.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
public abstract void DrawEllipses(IPen2D strokePen, IBrush2D fillBrush, IEnumerable<Point> centres, double width, double height)
renderContextBase.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
public virtual void DrawLine(IPen2D pen, Point pt1, Point pt2)
renderContextBase.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@
- pen
- El bolígrafo
- pt1
- El comienzo de la línea en pixels
- pt2
- El final de la línea en píxeles
public virtual void DrawLines(IPen2D pen, IEnumerable<Point> points)
renderContextBase.DrawLines(pen, points)
Dibuja una línea multipunto en el IRenderSurface2D utilizando el IPen2D especificado
- pen
- El bolígrafo
- points
- Los puntos.
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)
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
- Los colores para aplicar a la escaneo vertical
- opacity
- La opacidad de la estalina vertical, de 0,0 a 1.0
- yAxisIsFlipped
- si se establece a la verdad entonces el eje y se voltea.
public virtual void DrawQuad(IPen2D pen, Point pt1, Point pt2)
renderContextBase.DrawQuad(pen, pt1, pt2)
Dibuja un Quad en el IRenderSurface2D utilizando el IPen2D especificado
- pen
- La pluma
- pt1
- pt2
public abstract void DrawSprite(ISprite2D srcSprite, Rect srcRect, Point destPoint)
renderContextBase.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
public abstract void DrawSprites(ISprite2D sprite2D, Rect srcRect, IEnumerable<Point> points)
renderContextBase.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
public abstract void DrawSprites(ISprite2D sprite2D, IEnumerable<Rect> dstRects)
renderContextBase.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
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)
Dibuja texto si no sale
- dstBoundingRect
- alignY
- foreColor
- fontSize
- text
- fontFamily
- fontWeight
- alignX
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)
Dibuja texto relativo al punto base
public abstract void FillArea(IBrush2D brush, IEnumerable<Tuple<Point, Point>> lines, bool isVerticalChart, double gradientRotationAngle)
renderContextBase.FillArea(brush, lines, isVerticalChart, gradientRotationAngle)
Rellena una zona, limitada por dos segmentos de línea, e.g. como en una tabla de montaña apilada, utilizando el IBrush2D especificado
- brush
- El cepillo
- lines
- La lista de líneas que representan segmentos de polígonos
- isVerticalChart
- Valor, indica si el gráfico es vertical
- gradientRotationAngle
- El ángulo que el cepillo gira por
public virtual void FillPolygon(IBrush2D brush, IEnumerable<Point> points)
renderContextBase.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
public abstract void FillRectangle(IBrush2D brush, Point pt1, Point pt2, double gradientRotationAngle)
renderContextBase.FillRectangle(brush, pt1, pt2, gradientRotationAngle)
Rellena un rectángulo en el IRenderSurface2D utilizando el IBrush2D especificado
- brush
- El cepillo
- pt1
- pt2
- gradientRotationAngle
- El ángulo que el cepillo gira por
protected bool IsInBounds(Point pt)
result = renderContextBase.IsInBounds(pt)
Devuelve la verdad si el punto está dentro del mirador
public virtual void SetPrimitvesCachingEnabled(bool bEnabled)
renderContextBase.SetPrimitvesCachingEnabled(bEnabled)
permite/desactivar los primitves de la optimización de chaching ( sólo renderizado Direct3D )