RenderContextBase
IRenderContext2D インストーラーのベースクラスを定義し、RenderSurfaceBaseRenderSurfaceBaseにペンとブラシを描画、ブリット、作成できるようにします。
実装: IRenderContext2D, IDisposable
プロパティ
public abstract RenderOperationLayers Layers { get; }
value = renderContextBase.Layers
レンダリング操作を後続実行(および正しいZ-ordering)のためにレイヤーされたキューに投稿できるようにする@RenderOperationLayerレイヤーのコレクションを取得します。
public abstract Size ViewportSize { get; }
value = renderContextBase.ViewportSize
このレンダー操作で現在のビューポートのサイズを取得します。
メソッド
public abstract IPathDrawingContext BeginLine(IPen2D pen, double startX, double startY)
result = renderContextBase.BeginLine(pen, startX, startY)
ポリラインセグメントからIPathDrawingContextを返します。これは、ラインを描画し、単にポイント}にプロキシする最速の方法です。
- pen
- ラインセグメントのペン
- startX
- スタートX座標(ピクセルコオルド)
- startY
- スタートY座標(ピクセルコオルド)
戻り値: IPathDrawingContext は、ラインを継続
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 ポリゴンを継続
protected IEnumerable<Point> ClipArea(IEnumerable<Tuple<Point, Point>> lines)
result = renderContextBase.ClipArea(lines)
内側に使用してStackedMountainSeriesの領域をビューポートにクリップします
- lines
- ポリゴンセグメントの境界を表すラインのコレクション
protected IEnumerable<Point> ClipArea(IEnumerable<Point> points, int xExtension, int yExtension)
result = renderContextBase.ClipArea(points, xExtension, yExtension)
内部で使用して、ポリゴンまたはラインセグメントをビューポートにクリップします
internal static bool ClipLine(Point pt1, Point pt2, Size viewportSize)
result = RenderContextBase.ClipLine(pt1, pt2, viewportSize)
戻り値: 可視領域の外で行がない場合、false
protected double ClipZeroLineForArea(double zeroLine, bool isVerticalChart)
result = renderContextBase.ClipZeroLineForArea(zeroLine, isVerticalChart)
社内で使用:ビューポートにゼロライン(e.g. を埋め込む)をクリップ
public abstract IBrush2D CreateBrush(Color color, double opacity, bool? alphaBlend)
result = renderContextBase.CreateBrush(color, opacity, alphaBlend)
現在のレンダーパスで有効なIBrush2Dを作成します。これをrectangles、多角形および陰影された区域を引いて下さい
- color
- ブラシの色は透明度を支えます
- opacity
- ブラシの透明度
- alphaBlend
- もしtrueなら、シェーディング時にアルファブレンディングを使う。nullなら、色から自動検出する
戻り値: IBrush2Dインスタンス
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インスタンス
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インスタンス
public abstract ISprite2D CreateSprite(FrameworkElement fe)
result = renderContextBase.CreateSprite(fe)
レンダリングからビットマップへFrameworkElementからSpriteを作成します。これは、ポイントで使用できる)画面に繰り返し描画するメソッドです。
- fe
public abstract void Dispose()
renderContextBase.Dispose()
管理されていないリソースを解放、解放、またはリセットする関連アプリケーション定義タスクを実行します。
public abstract void DisposeResourceAfterDraw(IDisposable disposable)
renderContextBase.DisposeResourceAfterDraw(disposable)
このメソッドを呼び出して、IDisposable インスタンスを渡すと、レンダーパスが完了した後にディスポースします。 Ultrachart が内部で呼び出され、Direct2D と Direct3D ブラシとテクスチャの遅延ディスポーズ
- disposable
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
- ピクセルの楕円の高さ
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
- すべての楕円のための共通の高さ
public virtual void DrawLine(IPen2D pen, Point pt1, Point pt2)
renderContextBase.DrawLine(pen, pt1, pt2)
指定されたIPen2Dを使用してIRenderSurface2Dに単一行を描画します。 一部のラスタライザーでより高速な実装については、DrawLines@を使用してください。
- pen
- ペンのペン
- pt1
- ピクセルの行の開始
- pt2
- ピクセルの行の終了
public virtual void DrawLines(IPen2D pen, IEnumerable<Point> points)
renderContextBase.DrawLines(pen, points)
指定されたIPen2Dを使用してIRenderSurface2Dにマルチポイントラインを描画します
- pen
- ペンのペン
- points
- ポイント。
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 軸が反転されます。
public virtual void DrawQuad(IPen2D pen, Point pt1, Point pt2)
renderContextBase.DrawQuad(pen, pt1, pt2)
指定されたIPen2Dを使用してIRenderSurface2DにQuadを引く
- pen
- ペンのペン
- pt1
- pt2
public abstract void DrawSprite(ISprite2D srcSprite, Rect srcRect, Point destPoint)
renderContextBase.DrawSprite(srcSprite, srcRect, destPoint)
ソースイメージをIRenderSurface2Dに分割
- srcSprite
- ソーススプライトをレンダリングする
- srcRect
- ソースの長方形
- destPoint
- 目的地の点は、空白の後にスプライトの左上座標になります
public abstract void DrawSprites(ISprite2D sprite2D, Rect srcRect, IEnumerable<Point> points)
renderContextBase.DrawSprites(sprite2D, srcRect, points)
ソースのスプライトのバッチ描画IRenderSurface2D
- sprite2D
- レンダリングするスプライト
- srcRect
- ソースの長方形
- points
- スプライトを描画するポイント
public abstract void DrawSprites(ISprite2D sprite2D, IEnumerable<Rect> dstRects)
renderContextBase.DrawSprites(sprite2D, dstRects)
ソースのスプライトのバッチ描画IRenderSurface2D
- sprite2D
- レンダリングするスプライト
- dstRects
- 目的地の長方形でスプライトを描画
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
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)
ベースポイントに相対的にテキストを描画する
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
- ブラシが回転する角度
public virtual void FillPolygon(IBrush2D brush, IEnumerable<Point> points)
renderContextBase.FillPolygon(brush, points)
仕様書IBrush2Dを使用してIRenderSurface2Dにポリゴンを埋めます
- brush
- ブラシ
- points
- クローズドポリゴンを定義するポイントのリスト、X、Yは時計回りの方向に座標を合わせます
public abstract void FillRectangle(IBrush2D brush, Point pt1, Point pt2, double gradientRotationAngle)
renderContextBase.FillRectangle(brush, pt1, pt2, gradientRotationAngle)
指定されたIBrush2Dを使用してIRenderSurface2Dに矩形を埋めます
- brush
- ブラシ
- pt1
- pt2
- gradientRotationAngle
- ブラシが回転する角度
protected bool IsInBounds(Point pt)
result = renderContextBase.IsInBounds(pt)
視点がビューポート内にあると真を返します
public virtual void SetPrimitvesCachingEnabled(bool bEnabled)
renderContextBase.SetPrimitvesCachingEnabled(bEnabled)
プリミットは、最適化(Direct3Dレンダラーのみ)をキャッシュすることを可能にします。