翻譯|使用教程|編輯:龔雪|2024-12-23 14:14:14.740|閱讀 120 次
概述:本文將為大家介紹如何使用圖表控件SciChart WPF實現(xiàn)WPF應用程序的DPI感知,歡迎下載最新版組件體驗!
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
SciChart WPF Charts是一個實時、高性能的WPF圖表庫,專為金融、醫(yī)療和工程應用而設計。使用DirectX和SciChart WPF專有渲染引擎,以及約50種2D和3D WPF圖表類型、靈活的API和五星級支持,SciChart非常適合需要極端性能和光滑交互式圖表的項目。其廣泛的 API 和自定義選項使開發(fā)者能夠創(chuàng)建豐富、互動且視覺效果出色的圖表,以滿足各種應用需求。
隨著現(xiàn)代軟件環(huán)境越來越多地跨越具有不同分辨率和像素密度的多個顯示器,WPF應用程序在所有顯示器上保持清晰是至關重要的。DPI (Dots Per Inch)感知可確保UI元素、文本和圖表在具有不同DPI設置的顯示器之間移動時不會顯得模糊。
在本教程中,我們將介紹如何使SciChart WPF應用程序支持DPI,通過修改應用程序清單并對圖表控件進行一些調整,您可以確保應用程序正確縮放,并在所有監(jiān)視器上保持視覺清晰度
要使WPF應用程序支持DPI,首先需要修改應用程序清單文件。清單指定應用程序在具有不同DPI設置的顯示器之間移動時應該如何表現(xiàn)。
1.1. 添加清單文件:在Visual Studio中,右鍵單擊項目,選擇Add,然后選擇New Item,搜索應用程序清單并將其添加到項目中。
1.2. 修改清單:應該將以下XML片段添加到清單文件中,請確保運行Windows 10 Anniversary更新或更新系統(tǒng)的Per-Monitor DPI感知,并為運行Windows舊版本的系統(tǒng)提供兼容性。
<application xmlns="urn:schemas-microsoft-com:asm.v3"> <windowsSettings> <!-- The combination of below two tags have the following effect: --> <!-- 1) Per-Monitor for >= Windows 10 Anniversary Update --> <!-- 2) System < Windows 10 Anniversary Update --> <dpiAwareness xmlns=" //schemas.microsoft.com/SMI/2016/WindowsSettings"> PerMonitor</dpiAwareness> <dpiAware xmlns=" //schemas.microsoft.com/SMI/2005/WindowsSettings">true</dpiAware> </windowsSettings> </application>
1.3. 構建和測試:修改清單后,重新構建應用程序。在不同DPI設置的顯示器之間移動應用程序現(xiàn)在應該會產生一個清晰的界面,沒有任何模糊或失真。
A. 在啟用DPI感知之前,圖表在高分辨率顯示器上可能會顯得模糊。
B. 在使應用程序感知DPI之后,圖表呈現(xiàn)清晰,在監(jiān)視器上保持視覺清晰度。
清單就位后,下一步是確保應用程序在DPI更改時動態(tài)調整。對于SciChart WPF應用程序,這涉及覆蓋SciChartSurface中的OnDpiChanged方法,以基于當前DPI設置應用縮放轉換。
protected override void OnDpiChanged(DpiScale oldDpi, DpiScale newDpi) { var scaleFactorX = newDpi.DpiScaleX; var scaleFactorY = newDpi.DpiScaleY; // Apply scaling transformation LayoutTransform = new ScaleTransform(scaleFactorX, scaleFactorY); }
此方法計算X和Y坐標的新DPI比例因子,并將其應用于?SciChartSurface?,以確保圖表和其他UI元素保持銳利和比例。
在WPF中,默認的位圖縮放模式會在DPI調整期間導致模糊。通過將BitmapScalingMode設置為NearestNeighbor,您可以確保應用程序在沒有插值的情況下呈現(xiàn)圖像和圖表,即使在高DPI值下也能保持清晰度。
RenderOptions.SetBitmapScalingMode(chartSurface, BitmapScalingMode.NearestNeighbor);
此步驟確保所有視覺元素(包括圖表、標簽和圖標)保持其清晰度,特別是當用戶縮放顯示或跨監(jiān)視器移動應用程序時。
通過這些調整,您現(xiàn)在可以在不同的顯示器上使用不同的DPI設置測試應用程序。無論顯示在哪個顯示器上,應用程序都應該保持清晰。具體來說,要檢查:
通過在SciChart WPF應用程序中制定DPI感知,您可以確保它在不同的顯示設置中表現(xiàn)最佳。無論用戶是在1080p顯示器還是4K顯示器上工作,圖表、UI和文本都將保持其清晰度和清晰度,提供一致和專業(yè)的用戶體驗。
更多產品信息,歡迎“”了解!
本站文章除注明轉載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:慧都網