RenderContextBase

StockSharp.Xaml.Charting.Rendering.Common

IRenderContext2D インストーラーのベースクラスを定義し、RenderSurfaceBaseRenderSurfaceBaseにペンとブラシを描画、ブリット、作成できるようにします。

実装: IRenderContext2D, IDisposable

プロパティ

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

レンダリング操作を後続実行(および正しいZ-ordering)のためにレイヤーされたキューに投稿できるようにする@RenderOperationLayerレイヤーのコレクションを取得します。

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

このレンダー操作で現在のビューポートのサイズを取得します。

メソッド

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

ポリラインセグメントからIPathDrawingContextを返します。これは、ラインを描画し、単にポイント}にプロキシする最速の方法です。

pen
ラインセグメントのペン
startX
スタートX座標(ピクセルコオルド)
startY
スタートY座標(ピクセルコオルド)

戻り値: IPathDrawingContext は、ラインを継続

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

ポリゴンの部分を埋め始め、IPathDrawingContextを返します。これはポリゴンを引くための最速の方法です。

brush
ポリゴンの毛のブラシは塗ります
startX
スタートX座標(ピクセルコオルド)
startY
スタートY座標(ピクセルコオルド)
gradientRotationAngle
ブラシが回転する角度

戻り値: IPathDrawingContext ポリゴンを継続

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

クリアIRenderSurface2D@

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

内側に使用してStackedMountainSeriesの領域をビューポートにクリップします

lines
ポリゴンセグメントの境界を表すラインのコレクション
ClipArea
protected IEnumerable<Point> ClipArea(IEnumerable<Point> points, int xExtension, int yExtension)
result = renderContextBase.ClipArea(points, xExtension, yExtension)

内部で使用して、ポリゴンまたはラインセグメントをビューポートにクリップします

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

戻り値: 可視領域の外で行がない場合、false

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

社内で使用:ビューポートにゼロライン(e.g. を埋め込む)をクリップ

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

現在のレンダーパスで有効なIBrush2Dを作成します。これをrectangles、多角形および陰影された区域を引いて下さい

color
ブラシの色は透明度を支えます
opacity
ブラシの透明度
alphaBlend
もしtrueなら、シェーディング時にアルファブレンディングを使う。nullなら、色から自動検出する

戻り値: IBrush2Dインスタンス

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

現在のレンダーパスで有効なWPFブラシからIBrush2Dを作成します。これを使用して、長方形、ポリゴン、シェードエリアを描画します。

brush
WPFブラシは、ソースとして使用するために、e.g. これは、またはそれはすることができます。 固体色は透明性をサポートし、勾配ブラシよりも速くなることに注意してください
opacity
ブラシの透明度
textureMappingMode

戻り値: 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)

現行のレンダーパスで有効な IPen2D を作成します。これを使用して輪郭、クォード、行を描画します。

color
ペンの色は透明度を支えます
antiAliasing
真なら、アンチエイリアスリングを使う
strokeThickness
ストローク、デフォルト=1.0
opacity
ペンの不透明度
strokeDashArray
strokeEndLineCap

戻り値: IPen2Dインスタンス

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

レンダリングからビットマップへFrameworkElementからSpriteを作成します。これは、ポイントで使用できる)画面に繰り返し描画するメソッドです。

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

管理されていないリソースを解放、解放、またはリセットする関連アプリケーション定義タスクを実行します。

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

このメソッドを呼び出して、IDisposable インスタンスを渡すと、レンダーパスが完了した後にディスポースします。 Ultrachart が内部で呼び出され、Direct2D と Direct3D ブラシとテクスチャの遅延ディスポーズ

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

指定された輪郭IPen2Dを使用してIRenderSurface2Dに楕円を引いて、IBrush2Dを埋めます

strokePen
ストロークペン
fillBrush
フィラーブラシ
center
ピクセルの楕円の中心
width
ピクセルの楕円の幅
height
ピクセルの楕円の高さ
DrawEllipses
public abstract void DrawEllipses(IPen2D strokePen, IBrush2D fillBrush, IEnumerable<Point> centres, double width, double height)
renderContextBase.DrawEllipses(strokePen, fillBrush, centres, width, height)

同じ幅、高さ、ペン、ブラシで渡されたポイントで爪0.N楕円

strokePen
fillBrush
centres
楕円を描画するポイント
width
すべての楕円のための共通の幅
height
すべての楕円のための共通の高さ
DrawLine
public virtual void DrawLine(IPen2D pen, Point pt1, Point pt2)
renderContextBase.DrawLine(pen, pt1, pt2)

指定されたIPen2Dを使用してIRenderSurface2Dに単一行を描画します。 一部のラスタライザーでより高速な実装については、DrawLines@を使用してください。

pen
ペンのペン
pt1
ピクセルの行の開始
pt2
ピクセルの行の終了
DrawLines
public virtual void DrawLines(IPen2D pen, IEnumerable<Point> points)
renderContextBase.DrawLines(pen, points)

指定されたIPen2Dを使用してIRenderSurface2Dにマルチポイントラインを描画します

pen
ペンのペン
points
ポイント。
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)

yStartからyEndまでのヒートマップの垂直スキャンラインを下から上へ引き寄せる

x
ピクセルを描画する場所のX座標をスクリーン
yStartBottom
縦走線の底のY座標をスクリーンY座標。 可視領域の外出先にある場合、この場合リスト内のピクセルはすべてレンダリングされる
yEndTop
縦走線のトップのY座標をスクリーンY座標。 可視領域の外出先にある場合、この場合リスト内のピクセルはすべてレンダリングされる
pixelColorsArgb
縦のスキャンラインに適用する色
opacity
0.0から1.0までの垂直スキャリンの不透明度
yAxisIsFlipped
true に設定すると、y 軸が反転されます。
DrawQuad
public virtual void DrawQuad(IPen2D pen, Point pt1, Point pt2)
renderContextBase.DrawQuad(pen, pt1, pt2)

指定されたIPen2Dを使用してIRenderSurface2DにQuadを引く

pen
ペンのペン
pt1
pt2
DrawSprite
public abstract void DrawSprite(ISprite2D srcSprite, Rect srcRect, Point destPoint)
renderContextBase.DrawSprite(srcSprite, srcRect, destPoint)

ソースイメージをIRenderSurface2Dに分割

srcSprite
ソーススプライトをレンダリングする
srcRect
ソースの長方形
destPoint
目的地の点は、空白の後にスプライトの左上座標になります
DrawSprites
public abstract void DrawSprites(ISprite2D sprite2D, Rect srcRect, IEnumerable<Point> points)
renderContextBase.DrawSprites(sprite2D, srcRect, points)

ソースのスプライトのバッチ描画IRenderSurface2D

sprite2D
レンダリングするスプライト
srcRect
ソースの長方形
points
スプライトを描画するポイント
DrawSprites
public abstract void DrawSprites(ISprite2D sprite2D, IEnumerable<Rect> dstRects)
renderContextBase.DrawSprites(sprite2D, dstRects)

ソースのスプライトのバッチ描画IRenderSurface2D

sprite2D
レンダリングするスプライト
dstRects
目的地の長方形でスプライトを描画
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)

外部に行かないとテキストを描画

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)

ベースポイントに相対的にテキストを描画する

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

指定したIBrush2Dを使用して、スタックされた山チャートで、2つの行セグメント、e.g.によって制限された領域を埋めます

brush
ブラシ
lines
ポリゴンセグメントを表す行のリスト
isVerticalChart
値、チャートが縦かどうかを示します
gradientRotationAngle
ブラシが回転する角度
FillPolygon
public virtual void FillPolygon(IBrush2D brush, IEnumerable<Point> points)
renderContextBase.FillPolygon(brush, points)

仕様書IBrush2Dを使用してIRenderSurface2Dにポリゴンを埋めます

brush
ブラシ
points
クローズドポリゴンを定義するポイントのリスト、X、Yは時計回りの方向に座標を合わせます
FillRectangle
public abstract void FillRectangle(IBrush2D brush, Point pt1, Point pt2, double gradientRotationAngle)
renderContextBase.FillRectangle(brush, pt1, pt2, gradientRotationAngle)

指定されたIBrush2Dを使用してIRenderSurface2Dに矩形を埋めます

brush
ブラシ
pt1
pt2
gradientRotationAngle
ブラシが回転する角度
IsInBounds
protected bool IsInBounds(Point pt)
result = renderContextBase.IsInBounds(pt)

視点がビューポート内にあると真を返します

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

プリミットは、最適化(Direct3Dレンダラーのみ)をキャッシュすることを可能にします。