1. 開源C# WPF項目推薦:WPFCoreUniversalApp

        共 2333字,需瀏覽 5分鐘

         ·

        2020-08-06 03:21

        站長前面的話:文中有好幾張圖片太大,或者幀數(shù)大于300幀上傳失敗,感興趣可查看該項目倉庫ReadME說明,或者本站轉(zhuǎn)載地址:https://dotnet9.com/15823.html
        -----------------------------------正文開始-------------------------------------------------
        WPF(.Net Core 3.1)基于MVVM+View2D,3D(醫(yī)療)模板應(yīng)用

        • Github地址:https://github.com/chancezheng/WPFCoreUniversalApp
        • Gitee地址:https://gitee.com/ChanceZXY/WPFCoreUniversalApp

        項目由來

        本人一直從事PC端開發(fā)工作,主要集中在醫(yī)療和工業(yè)軟件開發(fā),所以就想寫一款通用的PC端模板,包括醫(yī)療系統(tǒng),工業(yè)控件,會涉及到比較多的2D,3D圖像,可能會涉及到算法,便于以后快速開發(fā),之前也寫過一些自定義控件和視圖,現(xiàn)在正好用到這個項目模板中。

        項目介紹

        WPFCoreUniversalApp是從零開始,基于.NetCore31,采用MVVM模式,目前連接的是Mysql數(shù)據(jù)庫,準備分為兩大塊:醫(yī)療(Medical),工業(yè)(Factory),其中包含UserControl,CustomControl,Animation,2D,ViewPor3D,日志記錄,Excel文檔交互,二維碼控件,手寫的ORM,IOC,權(quán)限認證和管理等等。另外我寫了一些常用的控件桌面自定義控件(基于.Net Core3.1),比如二維碼控件(配置即可生成想要的任意二維碼),MessageDialog(彈窗提示View)等。

        • UI布局------------------------------√
        • 窗口開啟和關(guān)閉動畫(2D和3D)-----√
        • 用戶注冊和修改---------------------√
        • ORM--------------------------------√
        • IOC----------------------------------√
        • 數(shù)據(jù)加密(MD5、DES)----------------√
        • MedicalReport界面布局--------------------√
        • 用戶身份校驗-----------------------×
        • 權(quán)限分配和管理----------------------×
        • 日志文件-----------------------------×
        • Excel文檔交互------------------------√
        • 圖形(折線、曲線、餅圖、柱狀圖等)-------------------√
        • 軟件自動更新------------------------x(之前寫過,我就直接拷貝過來再改下得了)
        • 想到什么補充什么吧。。。。。。

        登陸效果圖(2D/3D):

        圖片太大,放個靜圖吧,原圖是3D的哦,原圖看原文:

        ffaa29c9b2dcaf5202d2008864ecc61a.webp


        登陸界面切換3D動畫核心代碼如下:







        Visibility="{Binding UserOperationType,Converter={StaticResource LoginRegisterVisibilityConverter},ConverterParameter=Login}"/>


        Visibility="{Binding UserOperationType,Converter={StaticResource LoginRegisterVisibilityConverter},ConverterParameter=Register}"/>


        Visibility="{Binding UserOperationType,Converter={StaticResource LoginRegisterVisibilityConverter},ConverterParameter=ForgotPassword}"/>

        醫(yī)療報告系統(tǒng)效果圖(布局完成,功能模塊一部分)

        • 查看、登記、編輯、刷新、刪除-----------------√
        • Excel模板、 導(dǎo)入、導(dǎo)出(Excel、Word)--------------------------√
        • 診斷-------------------------------------------------完成一半
        • 數(shù)據(jù)轉(zhuǎn)PDF,XML,Json-----------------------------近期完成
        • 轉(zhuǎn)為圖形統(tǒng)計(2D、3D)-----------------------------√
        • 。。。。。。
        • 11f4221cd28860feeb2fd4ffe91242c2.webp

        診斷可實現(xiàn)圖片輪播瀏覽,還可以查看360度全景詳細圖片

        原圖太大,看倉庫或者本站介紹鏈接

        3D圖像平面切割效果(可任意角度去切割三維圖形),項目中有例子,有興趣的可自行查看

        以下示范立方體的,原理如下:假設(shè)平面內(nèi)有一定點P(0)(該點也在三維圖形空間內(nèi)),過定點P0的法向量為P(n),設(shè)該平面的任意一點坐標為P(x,y,z),則通過法向量垂直平面即可求出平面方程,若P(0)=(0,0,0),則切平面方程為:P(n).Xx + P(n).Yy + P(n).Zz = 0,若P(0)非原點,可通過在y軸上平移得到切平面方程式,即必存在一個常量N滿足P(n).Xx + P(n).Yy + P(n).Zz + N = 0(即為切平面方程通用公式)。設(shè)切平面與XY軸面的夾角α[0,π],切平面旋轉(zhuǎn)的角度β[0,2π],最后我推導(dǎo)得到切平面通用用方程表達式如下(先計算過原點的,之后可通過平移得到):

        42ed1aca32f9737d6eed7f02f9d3dd5f.webp

        【原圖過大,無法上傳】

        哭啦,看原文,圖表控件(圖像理論上可繪制達1000萬個點)


        由于自己開發(fā)太慢而且很累(需要寫動畫效果,控件邏輯等),所以現(xiàn)在引入了第三方控件,具體看管理包。另外我把3D球體和圓柱體的推導(dǎo)方法放在了~/DesktopUniversalFrame/Entity/ArithmeticInfer下面,感興趣的可以看看,其它像正方體、長方體的建模就比較簡單了,不會的可以自己查資料,微軟官方文檔也有說明,弄清楚原理再去畫3D就非常簡單了,借助第三方控件就更容易點,后面有時間的話把動畫在Xaml和后臺的寫法單獨弄一塊,學(xué)會這些就可以做出很炫麗的可視化界面了。

        如果您覺得這個項目對你來說用得上,麻煩老哥點個Start。希望與各位還在PC開發(fā)的小伙伴一起交流學(xué)習(xí),有什么問題可以隨時在下方留言,本項目最終目的是要做出一款滿足實際工作業(yè)務(wù)需求控件和視圖。好了,就扯到這里吧,我去繼續(xù)擼碼了!

        瀏覽 235
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
          
          

            1. 中国美女操逼 | 毛片手机在线免费观看 | 激情婷婷综合 | 奶大丰满一伦一视一视 | 日本久久性爱 |