一本清日本在线视频精品,亚洲日本va午夜在线影院,国产精品麻花传媒二三区别,色屁屁www免费看欧美激情

010-68421378
當(dāng)前您所在的位置:首頁>新聞中心>行業(yè)動(dòng)態(tài)

LightningChartUltimate 組件

發(fā)布時(shí)間:2022/04/01 瀏覽量:4052
LightningChartUltimate 組件

 

使用 LightningChart®.NET 函數(shù)庫(kù)

為使用 LightningChart®.NET 組件,必須添加引用 Arction .dll 文件。這些.dll 文件可在安裝文件夾中找到。在開發(fā)應(yīng)用程序時(shí)需要用到以下程序集

Arction.WinForms.Charting.LightningChartUltimate.dll.

Arction.Wpf.Charting.LightningChartUltimate.dll

 Arction.DirectX.dll

Arction.RenderingDefinitions.dll

Arction.Wpf.SemibindableCharting.LightningChartUltimate.dll

Arction.DirectX.dll

Arction.RenderingDefinitions.dll

Arction.Wpf.BindableCharting.LightningChartUltimate.dll

Arction.DirectX.dll

Arction.RenderingDefinitions.dll

Arction.Wpf.SignalProcessing.SignalTools.dll

 

以上參考文件添加成功后,在建立項(xiàng)目時(shí),全部所需的程序集會(huì)自動(dòng)復(fù)制到輸出文件夾中。

由于 Arction.DirectXFiles.dll 文件過大,會(huì)增加初始化時(shí)間,添加引用文件時(shí)不會(huì)自動(dòng)包括在內(nèi)。只有當(dāng)系統(tǒng)中沒有正確的 DirectX 程序集的時(shí)候才需要添加。Arction.DirectXInit.dll 程序會(huì)檢查已有的.dll 文件,并在需要時(shí)加載這些文件。一經(jīng)加載后,會(huì)將 DirectX-dlls 文件寫入到 Windows 的緩存文件夾,供 LightningChart 在將來需要時(shí)訪問使用,這樣就加快了初始化速度。

建議不要把 Arction.DirectXFiles.dll 列入引用文件,而是將其復(fù)制到 exe.文件。

 

用代碼創(chuàng)建圖表

LightningChartUltimate 組件可以通過從 toolbox 中拖拽來添加,或者完全采用代碼隱藏(代碼后置)方式來添加。以代碼形式來創(chuàng)建圖表對(duì)象具有更方便地更新版本的優(yōu)勢(shì)。此外,還可以避免一些與(反)序列化相關(guān)的問題。

以下示例演示了一種以代碼隱藏方式(.xaml.cs 文件)創(chuàng)建一個(gè) WPF 無綁定圖表的方法。

 

using Arction.Wpf.Charting;

namespace ExampleProject

{

 public partial class ExampleApp : Page

 {

 private LightningChartUltimate _chart = null;

 public ExampleApp()

 {

 InitializeComponent();

 CreateChart();

 }

 private void CreateChart()

 {

 _chart = new LightningChartUltimate();

 //父容器中的圖表控件

 (Content as Grid).Children.Add(_chart);

 // 圖表未正確設(shè)置,禁用渲染 Disable rendering until the whole chart is set up correctly.

 _chart.BeginUpdate();

 // 配置圖表Configure chart here.

 // 渲染圖表Allow rendering the chart.

 _chart.EndUpdate();

 }

 } }

 

從工具箱添加至 Windows Forms 項(xiàng)目

將 LightningChartUltimate 控件從 toolbox 添加至設(shè)計(jì)窗中,會(huì)出現(xiàn)一個(gè)圖表,其屬性顯示在Properties 窗口中。

 

 

屬性

對(duì)屬性可以進(jìn)行自由修改。此外,還可以將新的系列和其他對(duì)象插入到其集合中。系列數(shù)據(jù)點(diǎn)必須通過代碼表示。

 

事件處理程序

圖表主級(jí)別的事件處理程序,可以使用屬性網(wǎng)格進(jìn)行分配。對(duì)于已添加至集合的對(duì)象而言,必須通過代碼來分配事件處理程序。

 

有關(guān)更新版本的最佳方法

圖表屬性數(shù)據(jù)經(jīng)過序列化, 存放至 Visual Studio 項(xiàng)目的.resx 文件中。版本更新后,LightningChartUltimate API 會(huì)出現(xiàn)一點(diǎn)小變化,可能導(dǎo)致在.resx 文件中新版本存在不兼容的序列化結(jié)果。

 

為了便于更新,強(qiáng)烈建議創(chuàng)建圖表對(duì)象,以代碼形式添加所有系列、事件處理程序等。然后項(xiàng)目正確加載,在編譯時(shí)顯示可能的錯(cuò)誤,這讓修復(fù)這些錯(cuò)誤比修復(fù).resx 文件更容易。采用.resc 文件,一些屬性定義可能會(huì)丟失,但采用代碼,這些屬性的具體定義一直都不會(huì)變。

 

從工具箱添加至 WPF 項(xiàng)目

從 toolbox 向 Window 或另一個(gè)容器添加 LightningChartUltimate 部分綁定或全綁定 WPF 控件。圖表會(huì)出現(xiàn)在設(shè)計(jì)窗口,并且其屬性會(huì)在 Properties 窗口顯示出。XAML 編輯器可以顯示出具體內(nèi)容以及對(duì)圖表默認(rèn)屬性做出的修改。

 

屬性

對(duì)屬性不僅可以進(jìn)行自由修改,而且可以將新的系列以及其他對(duì)象插入到其集合中。

 

事件處理程序

圖表主級(jí)別的事件處理程序,可以使用屬性網(wǎng)格進(jìn)行分配。對(duì)于已添加至集合的對(duì)象而言,必須通過代碼來分配事件處理程序。

 

 

添加至 Blend WPF 項(xiàng)目

在“Projects”選項(xiàng)卡中,選擇“References”。右鍵單擊并選擇“Add reference…”,然后瀏覽,從 c:\program files (x86)\Arction\LightningChart .NET SDK v.8\LibNet4 中搜尋到Arction.WPF.Charting.LightningChartUltimate.dll 文件。

選擇“Assets”選項(xiàng)卡。然后在搜索框中輸入“Lightning”。在搜索結(jié)果中會(huì)顯示帶有LightningChartUltimate 的行。再將對(duì)象拖動(dòng)到 WPF 窗口中

 

 

 

有關(guān)版本更新的最佳方法

圖表屬性數(shù)據(jù)采用 XAML 存儲(chǔ)。新版本的屬性設(shè)置略有不同,會(huì)導(dǎo)致 LightningChartUltimate 對(duì)象不會(huì)出現(xiàn)在設(shè)計(jì)窗中。隨后需要進(jìn)行相關(guān)的 XAML 修改。XAML 標(biāo)簽樹可能會(huì)非常龐大,并且可能會(huì)非常難以進(jìn)行編輯。

為了便于更新,強(qiáng)烈建議在設(shè)計(jì)窗中創(chuàng)建圖表對(duì)象,設(shè)置好其布局,并對(duì)齊相關(guān)屬性。使用代碼設(shè)置其他部分?;蛘邎D表對(duì)象也使用代碼創(chuàng)建。

 

防止圖表模糊

這是 WPF 的一個(gè)共同特征,而且與圖表本身無關(guān),但采用 LightningChart 精確渲染后會(huì)變得清 晰明顯。

 

設(shè)置圖表父控件 UseLayoutRounding = True ,可以防止圖表看上去模糊不清。雖然圖表在設(shè)計(jì)窗中可能仍然看上去模糊,但是當(dāng)運(yùn)行應(yīng)用程序后會(huì)看的很清晰。父控件例如 Grid, Canvas, DockManager 等

 

對(duì)象模型

掌握 LightningChart 對(duì)象模型的最好方法是使用 Visual Studio 的 Properties editor(屬性編輯器)。

 

 

Windows Forms 與 WPF 之間的區(qū)別

就 Chart 一級(jí)而言,Windows Forms 和 WPF 的屬性樹以及對(duì)象模型幾乎是完全相同的。二者主 要不同之處如下;

 

 

LightningChart 視圖

LightningChart 的主要視圖如下:

 

通過設(shè)置 ActiveView 屬性可以對(duì)可視化視圖進(jìn)行更改。默認(rèn)視圖為 ViewXY。

 

設(shè)置可視化視圖為3D

chart.ActiveView = ActiveView.View3D;

 

視圖與縮放區(qū)域定義

LightningChart 視圖包含了幾個(gè)不同的區(qū)域,各自反映了不同的信息。這些區(qū)域根據(jù)視圖的內(nèi)容可以看做是幾個(gè)平面矩形,但無論視圖類型如何,這些定義都是一致的;特別是在縮放操作時(shí),將決定要顯示圖表的哪部分區(qū)域。

 

 

 

設(shè)置背景填充

所有的視圖的背景填充都一樣。

chart.Background.Color = Color.DarkBlue;

chart.ChartBackground.Color = Colors.DarkBlue;

 

背景填充支持以下幾種方式:

chart.ChartBackground.GradientFill = GradientFill.Cylindrical;

chart.ChartBackground.GradientColor = Colors.Black;

chart.ChartBackground.GradientDirection = -45;

 

 

 

 

 

 

 

設(shè)置透明背景

在 WPF 中,可將圖表設(shè)置成顯示為透明,這樣在圖表下方的對(duì)象可以透過圖表顯示出來。

 

設(shè)置 ChartBackground.Color = #00000000(全透明黑色)

注意!不要設(shè)置 ‘Transparent’ (#00FFFFFF)。該設(shè)置無法穿透顯示。

WinForms 不支持控件透明背景。

 

配置外觀/性能設(shè)置

ChartRenderOptions (在 WinForms 中為 RenderOptions)包含用于配置外觀和性能的屬性。

 

 

 

DeviceType

// 通過代碼更改渲染設(shè)備

chart.ChartRenderOptions.DeviceType = RendererDeviceType.Auto;

 

Auto 也稱為 AutoPreferD11 選項(xiàng),此為默認(rèn)設(shè)置。

 

AutoPreferD9 更傾向于 DirectX9 硬件渲染,并根據(jù)可用性依照順序:HW9 -> HW11 -

 

> SW11 -> SW9 自動(dòng)選擇設(shè)備。當(dāng)硬件不可用時(shí),則會(huì)返回至 WARP(SW11)軟件渲染。

 

AutoPreferD11 更適合 DirectX11 硬件渲染,并根據(jù)可用性依照順序:HW11 -> HW9 -> SW11 -> SW9 自動(dòng)選擇設(shè)備。當(dāng)硬件不可用時(shí),則會(huì)返回至 WARP(SW11)軟件渲染。這可作為一種通用的高性能和最佳外觀設(shè)置使用。 比起采用 DirectX9 渲染程序,視覺外觀會(huì)更好。

 

HardwareOnlyD9 僅使用 hardware 9 來進(jìn)行渲染。

 

HardwareOnlyD11 僅使用 hardware 11 來進(jìn)行渲染。

 

SoftwareOnlyD11 使用 DirectX11 WARP,這與 DirectX9 參考光柵設(shè)備相比非??欤ǖ扔布x項(xiàng)慢)

 

SoftwareOnlyD9 使用 DirectX9 參考光柵設(shè)備(非常慢)

 

None 如果圖表被隱藏或者在背景中處于非使用狀態(tài),設(shè)置 DeviceType 為 None,可以將圖表資源釋放給其他圖表。

 

GPUPreference

chart.ChartRenderOptions.GPUPreference = GPUPreference.SystemSetting;

 

適用于帶有雙圖形適配器系統(tǒng)的計(jì)算機(jī),主要是帶有集成了低性能 GPU 的 CPU/芯片組和較高性能圖形 GPU(例如 AMD 或者 Nvidia)的筆記本電腦。

 

SystemSetting 使用在 Windows、AMD 或 Nvidia 控制面板的圖形設(shè)置中可選擇的選項(xiàng)。

 

PreferHighPerformanceGraphics 使用高性能 GPU(若系統(tǒng)中存在)。通常會(huì)帶來更佳的新能表現(xiàn),但能耗較高。

 

PreferLowPowerGraphics 使用較低性能的集成 GPU(即便系統(tǒng)中安裝有高性能的

GPU)默認(rèn)情況下,PreferHighPerformanceGraphics 為首選。不要取消此項(xiàng)會(huì)獲得最佳的性能。

 

FontsQuality

chart.ChartRenderOptions.FontsQuality = FontsRenderingQuality.High;

 

Low 性能最佳,字體邊緣更光滑。仔細(xì)選擇字體類型,獲得最合意的外觀效果。

 

Mid 其性能與 Low 幾乎相似。字體邊緣同樣具有反鋸齒效果。此項(xiàng)為默認(rèn)設(shè)置。

High 外觀最佳,但對(duì)性能表現(xiàn)有很大影響。

 

注意: 出于渲染技術(shù)限制,透明背景不適用于采用 High 質(zhì)量設(shè)置的 DirectX 11 渲染,但可適用于 DirectX9 。

 

AntiAliasLevel

chart.ChartRenderOptions.AntiAliasLevel = 1;

全屏反鋸齒系數(shù)。其實(shí)用性取決于硬件。值越大,外觀越好,但是性能越差。設(shè)置 0 或 1 以達(dá)到性能最大化。

 

WaitForVSync

chart.ChartRenderOptions.WaitForVSync = true;

Copyright Arction Ltd 2009-2019 47

建議: 保持默認(rèn)值。 啟用后,持續(xù)渲染,直到下一次刷新(例如,1/60 秒的下一個(gè)倍數(shù))。這只是暫時(shí)性建議,例如采用當(dāng)與外部屏幕捕獲應(yīng)用程序同步,以防止出現(xiàn)條 帶化,或當(dāng)屏幕頂部的圖像與屏幕底部不同步時(shí)。這可能顯示為中斷的波形數(shù)據(jù)。在啟用后,特別是在 WPF 中,性能會(huì)受到明顯影響

 

UpdateType

chart.ChartRenderOptions.UpdateType = ChartUpdateTypes.Sync;

 

Sync (default): 圖表同步更新。圖表在最后一次 EndUpdate()調(diào)用后更新,或者當(dāng)設(shè)置屬性(或調(diào)用一個(gè) method)會(huì)改變圖表時(shí)更新。屬性的改變(沒有

BeginUpdate…EndUpdate)會(huì)引發(fā)即時(shí)渲染新幀。

 

Async: 圖表以異步方式更新。圖表在屬性改變后將盡快更新,但是圖表將在隨后的某個(gè)的點(diǎn)渲染一個(gè)新幀。這也許讓圖表在某些情況下更方便使用。

 

LimitedFrameRate: 幀率受限于在 FrameRateLimit 屬性中規(guī)定的值。0 = 無限制。例如,如果想要最大每秒刷新 10 次,則設(shè)置值為 10。這與 Async 選項(xiàng)類似,但會(huì)防止在第一個(gè)幀之后立即渲染新的幀,如此以來,減少幀率,但節(jié)省了系統(tǒng)資源。

 

注意! 確保在 LimitedFrameRate 和 Async 模式下正確的線程處理。如果異步更新圖表,并且圖表屬性也同時(shí)更新,可能會(huì)引發(fā)沖突,導(dǎo)致圖表或應(yīng)用程序奔潰。

 

InvokeRenderingInUIThread

chart.ChartRenderOptions.InvokeRenderingInUIThread = true;

 

在應(yīng)用程序中使用后臺(tái)時(shí),來自該線程的所有 UI 更新都必須通過 Invoke(在 WinForms中為 Control.Invoke(),在 WPF 中為 Dispatcher.Invoke())

 

在啟用后,渲染部分將使用內(nèi)部調(diào)用來處理 UI 線程。

 

默認(rèn)值為 False,因?yàn)橐跃€程安全的方式設(shè)置屬性和調(diào)用方法也應(yīng)該要注意到,即使啟用了此屬性,也要防止在圖表的內(nèi)部狀態(tài)中發(fā)生線程沖突。

 

HeadlessMode

chart.ChartRenderOptions.HeadlessMode = true;

 

將此值設(shè)置為 True,可以在后臺(tái)服務(wù)、控制臺(tái)應(yīng)用程序或其他沒有用戶界面的應(yīng)用程序中使用圖表。

 

DPI 處理器

默認(rèn)情況下,WPF 應(yīng)用程序支持 DPI(Dots Per Inch 每英寸點(diǎn)數(shù)),而 WinForms 應(yīng)用程序不支持。此外,DPIs 還可用以代替像素來測(cè)量尺寸大小。LightningChart 不支持 Per-Monitor DPI 感 知,但支持系統(tǒng)感知,這意味著 WPF 應(yīng)用程序支持 DPI 系統(tǒng)。 在 WinForms 中,默認(rèn) DPI 為 72,但若加載了 wpf .dll 文件的話可以忽略,該值會(huì)變?yōu)?96。

然而,當(dāng)移動(dòng)到具有不同 DPI 設(shè)置的另一個(gè)屏幕時(shí),LightningChart 不會(huì)自動(dòng)調(diào)整大小。要啟用大小調(diào)整,需要把 ChartOptions 中的 AllowDPIChangeInduceWindowsResize 屬性設(shè)置為 true 。或者,用戶可以注冊(cè)到 OnDPIChanged 事件并更改它的 allowWindowResize 屬性。這些在WinForms 不起作用。

 

// 啟動(dòng)自動(dòng)調(diào)整大小

chart.Options.AllowDPIChangeInduceWindowResize = true;

// 通過 OnDPIChanged –事件

chart.OnDPIChanged += chart_OnDPIChanged;

private void chart_OnDPIChanged(LightningChartUltimate chart, float dpix, float dpiy, ref bool

allowWindowResize) {

allowWindowResize = true; }

 

DpiHelper 類

LightningChart 的 DpiHelper 類,包含與 DPI 相關(guān)的問題的 helper 類。

 

DpiAware 聲明系統(tǒng)進(jìn)程是否被 DPI 感知。但是,目前還無法區(qū)分系統(tǒng)感知和 per-monitor 感知。bool isDPIAware = DpiHelper.DpiAware;

 

DpiXFactor/ DpiYFactor 是屏幕寬度/高度的系統(tǒng) DPI 的有效縮放系數(shù)。該系數(shù)說明了在 X/Y 方向上每一個(gè) DPI 有多少個(gè)實(shí)際像素。

 

float dpiXFactor = DpiHelper.DpiXFactor;

 

DipToPx and PxToDip 方法使用系統(tǒng) DPI 設(shè)置將 DIP 轉(zhuǎn)換為像素,反之亦然。它們可以轉(zhuǎn)換單個(gè)點(diǎn)或像素,也可以轉(zhuǎn)換矩形的大小和位置值。

 

double pixelValue = DpiHelper.DipToPx(dipValue);

 

反鋸齒

通過 AntiAliasing 屬性可以控制反鋸齒,即根據(jù)相關(guān)組件通過一個(gè)布爾值或 LineAntialias 枚舉設(shè)置。對(duì)于后者而言,目前有兩個(gè)可用的選項(xiàng):

seriesEventMarker.Symbol.Antialiasing = true; pointLineSeries.LineStyle.AntiAliasing = LineAntialias.Normal;

 

圖表的 AntiAliasLevel 系數(shù)也會(huì)影響反鋸齒效果。這一系數(shù)基于所選的渲染引擎(DirectX9 和DirectX11)來定義應(yīng)用的反鋸齒模式。設(shè)置反鋸齒級(jí)別為 0 或 1,結(jié)果是渲染時(shí)不應(yīng)用反鋸齒,即使個(gè)別組件的 AntiAliasing 屬性設(shè)置為 true 或 LineAntialias.Normal。

 

通過圖表的渲染選項(xiàng)可以設(shè)置 AntiAliasLevel 值:

chart.ChartRenderOptions.AntiAliasLevel = 2;

 

DirectX 11 反鋸齒

在 DirectX11 中,當(dāng)用反鋸齒渲染時(shí),有幾個(gè)共同的特點(diǎn)應(yīng)該考慮到:

 

LineAntiAliasingType.ALAA;Alpha-blending 反鋸齒

LineAntiAliasingType.QLAA;Quadrilateral 反鋸齒

chart.ChartRenderOptions.LineAAType2D = LineAntiAliasingType.ALAA;

 

RasterizerStateDescription 的 IsMultisampleEnabled 和 IsAntialiasedLineEnabled 設(shè)置還會(huì)以以下方式(只適用于渲染線條 line rendering)影響 QLAA 和 ALAA 渲染:

 

 

注意!利用 DirectX11 進(jìn)行 3D 渲染時(shí),除非設(shè)置 AntiAliasLevel 值為 0 或 1,否則所有三角線都總是用反鋸齒渲染。

下一篇:Standard CADEditorX入門
上一篇:Bluebeam:如何在 Revu 中創(chuàng)建目錄

                               

 京ICP備09015132號(hào)-996 | 違法和不良信息舉報(bào)電話:4006561155

                                   © Copyright 2000-2026 北京哲想軟件有限公司版權(quán)所有 | 地址:北京市海淀區(qū)西三環(huán)北路50號(hào)豪柏大廈C2座11層1105室

                         北京哲想軟件集團(tuán)旗下網(wǎng)站:哲想軟件 | 哲想動(dòng)畫

                            華滋生物