IRenderContext2D
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
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).
public Size ViewportSize { get; }
value = iRenderContext2D.ViewportSize
Consigue el tamaño actual del puerto de visión.
Métodos
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
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
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
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
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
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
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
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
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
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
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
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
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.
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
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
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
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
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
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
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
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
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
public void SetPrimitvesCachingEnabled(bool bEnabled)
iRenderContext2D.SetPrimitvesCachingEnabled(bEnabled)
permite/desactivar los primitves de la optimización de chaching ( sólo renderizado Direct3D )
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