• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            小四的海市蜃樓
            Never surrender to complexity
            posts - 21,comments - 59,trackbacks - 0
            https://github.com/dingjiecn/OpenDraw.git

            打算做一個(gè)開(kāi)源的矢量繪圖軟件(類似MS Visio),花了幾天把程序框架做了出來(lái),自認(rèn)比DrawCLI的稍微好一點(diǎn)點(diǎn)。支持基本圖形繪制,旋轉(zhuǎn),縮放,串行化。使用MFC、STL、GDI/GDI+和一點(diǎn)點(diǎn)設(shè)計(jì)模式。

            自知做一個(gè)堪用的矢量繪圖軟件是個(gè)非常艱巨的事情,不過(guò)還是打算用一些業(yè)余時(shí)間把這件事情做了,對(duì)自己以往掌握的知識(shí),也是一個(gè)總結(jié)。

            編譯好的可執(zhí)行程序
            程序0.01版本源代碼在這里可以下載
            posted on 2008-01-29 18:16 小四 閱讀(11670) 評(píng)論(37)  編輯 收藏 引用 所屬分類: 圖形圖像與計(jì)算幾何

            FeedBack:
            # re: 打算做一個(gè)開(kāi)源的矢量繪圖軟件
            2008-01-29 22:15 | ood
            支持你,看代碼也是一種很好的學(xué)習(xí)。
            有時(shí)間的話,我也很想為它寫些代碼,因?yàn)槲覍?duì)這類軟件也很感興趣。
            希望能堅(jiān)持下去。  回復(fù)  更多評(píng)論
              
            # re: 打算做一個(gè)開(kāi)源的矢量繪圖軟件
            2008-01-29 23:39 | giscn
            支持一下,建議不要受DrawCli 的影響,DrawCli的架構(gòu)不是很好,接口不清。CODShape 與數(shù)據(jù)鼠標(biāo)的操作相關(guān)的虛函數(shù)比較多,可以有更好的辦法。另外,最好不要用MFC, CObject CPoint 之類,并且CDC 作為核心的繪圖上下文環(huán)境是不夠的。  回復(fù)  更多評(píng)論
              
            # re: 打算做一個(gè)開(kāi)源的矢量繪圖軟件
            2008-01-30 09:20 | teli
            # re: 打算做一個(gè)開(kāi)源的矢量繪圖軟件
            2008-01-30 09:48 | 追夢(mèng)時(shí)代
            支持樓主  回復(fù)  更多評(píng)論
              
            # re: 打算做一個(gè)開(kāi)源的矢量繪圖軟件
            2008-01-30 10:08 | 小四
            謝謝,因?yàn)槟繕?biāo)是開(kāi)發(fā)一個(gè)類似MS Visio的東西,或許做成COM組件讓更多人可以重用,我也不知道有沒(méi)有那個(gè)精力堅(jiān)持下去。
            to ood:
            這么簡(jiǎn)陋的東西也放出來(lái)的目的是讓剛剛接觸OO的同學(xué)可以參考一下。如果真的能寫個(gè)七七八八以后,我會(huì)把項(xiàng)目放到codeproject上給更多人參考。
            to giscn:
            我會(huì)再參考一下別的繪圖軟件的框架,我也想擺脫對(duì)MFC的依賴。
            to teli
            qcad商業(yè)軟件太好太強(qiáng)大,貌似不開(kāi)源,而且跟我目標(biāo)不一樣。  回復(fù)  更多評(píng)論
              
            # re: 打算做一個(gè)開(kāi)源的矢量繪圖軟件
            2008-01-30 11:37 | 夢(mèng)在天涯
            堅(jiān)持!  回復(fù)  更多評(píng)論
              
            # re: 打算做一個(gè)開(kāi)源的矢量繪圖軟件
            2008-01-30 12:11 | lunny
            支持一下,建議考慮跨平臺(tái)的問(wèn)題,也許可以使用wxwidgets。  回復(fù)  更多評(píng)論
              
            # re: 打算做一個(gè)開(kāi)源的矢量繪圖軟件
            2008-01-30 20:26 | giscn
            UCanCode 好像有類似visio 的東西,應(yīng)該還可以找到其他類似的代碼,自己琢磨如何做也不錯(cuò),COM 只是接口封裝而已,以 COM 方式設(shè)計(jì)主框架接口并不好,COM 與 C++的設(shè)計(jì)習(xí)慣并不相同,采用C++, 體現(xiàn)接口的思想足矣,GIS 行業(yè)有用COM 設(shè)計(jì)主框架的:ESRI 的 ArcGIS, 現(xiàn)在看來(lái)臃腫,反而成了累贅,其實(shí)在2000年前后看到他們的設(shè)計(jì)就覺(jué)得他們的設(shè)計(jì)思路不合理。  回復(fù)  更多評(píng)論
              
            # re: 打算做一個(gè)開(kāi)源的矢量繪圖軟件
            2008-01-30 20:27 | 過(guò)客
            有一本海外華人寫的基于JAVA的面向?qū)ο笤O(shè)計(jì)中進(jìn)行了一個(gè)類似系統(tǒng)的OO分析和設(shè)計(jì),樓主有興趣可以參考一下。
            中間主要提到了有一個(gè)canvas類,作為各種shape的容器,各種shape從一個(gè)虛類繼承。

            希望樓主堅(jiān)持,本人關(guān)注了挺久,希望有一個(gè)在圖像處理程序用中的輕量矢量圖形庫(kù),主要用于感興趣區(qū)域等的描繪。一直沒(méi)有找到合適的。
            所以如果樓主可以支持前面矢量圖形與后面背景圖像的嵌入以及串行化。那是最好了。

            如果要做到平臺(tái)無(wú)關(guān),希望將具體繪制代碼與其他分離設(shè)計(jì),這樣可以更換圖形繪制部分使用MFC還是wxwidgets之類。
            如果要使用方便,希望鼠標(biāo)消息如果能提供一個(gè)封裝,然后提供一個(gè)和具體環(huán)境鼠標(biāo)消息的接口。

            以上是個(gè)人一些愚見(jiàn),希望對(duì)樓主有幫助。  回復(fù)  更多評(píng)論
              
            # re: 打算做一個(gè)開(kāi)源的矢量繪圖軟件
            2008-01-30 20:33 | giscn
            to 樓上的 過(guò)客:
            是JGraph 還是其他? 感覺(jué)JGraph 設(shè)計(jì)太羅嗦  回復(fù)  更多評(píng)論
              
            # re: 打算做一個(gè)開(kāi)源的矢量繪圖軟件
            2008-01-30 20:39 | giscn
            to 樓上的 過(guò)客:
            其實(shí)你說(shuō)的區(qū)域描繪, 加上圖像,用java 做不復(fù)雜,代碼量在100~100 K, Graphics2D 就已經(jīng)實(shí)現(xiàn)了很多算法,基本沒(méi)有社么復(fù)雜的算法要自己實(shí)現(xiàn)  回復(fù)  更多評(píng)論
              
            # re: 打算做一個(gè)開(kāi)源的矢量繪圖軟件
            2008-01-30 20:40 | giscn
            筆誤,是100~200k  回復(fù)  更多評(píng)論
              
            # re: 打算做一個(gè)開(kāi)源的矢量繪圖軟件
            2008-01-30 20:45 | 過(guò)客
            那本書(shū)里面提到的是基于UML演練對(duì)這樣一個(gè)系統(tǒng)進(jìn)行的分析與設(shè)計(jì),但是我覺(jué)得那個(gè)設(shè)計(jì)不光是一個(gè)例子,實(shí)際也有些價(jià)值,他是希望從底層開(kāi)始分析和設(shè)計(jì)這樣一個(gè)系統(tǒng),具體上層是否用JGraph是無(wú)所謂的。

            我一下忘記這本書(shū)名字了,記得網(wǎng)上有人評(píng)價(jià)不是很好,但是很快有人回復(fù)說(shuō)其實(shí)作者是有很多年設(shè)計(jì)經(jīng)驗(yàn)的比較實(shí)在的作品,我也覺(jué)得作者的分析和設(shè)計(jì)是不錯(cuò)的。

            現(xiàn)在我是希望能用c++實(shí)現(xiàn),主要實(shí)現(xiàn)一個(gè)canvas類,包含一個(gè)通用的鼠標(biāo)操作,提供一個(gè)graph類,底下繼承一些常用的圖形。包括橡皮框。canvas類提供對(duì)這些形狀的管理。
            外部提供一個(gè)鼠標(biāo)接口和一個(gè)GUI接口,具體實(shí)現(xiàn)鼠標(biāo)消息傳入和圖形繪制,一些與平臺(tái)有關(guān)的代碼就分離在這兒。
              回復(fù)  更多評(píng)論
              
            # re: 打算做一個(gè)開(kāi)源的矢量繪圖軟件
            2008-01-30 20:53 | 過(guò)客
            可能不是很復(fù)雜,但是我一直也沒(méi)有找到一個(gè)輕量級(jí)的穩(wěn)定的版本。
            希望樓主的系統(tǒng)能否往這個(gè)方向發(fā)展一下,比較好嵌入到其他系統(tǒng)中。
            就像CXImage這樣的開(kāi)源圖像讀取系統(tǒng),只完成一個(gè)方面的功能,但是很穩(wěn)定,比較全面,可以很方便地作為很多大系統(tǒng)的一部分。  回復(fù)  更多評(píng)論
              
            # re: 打算做一個(gè)開(kāi)源的矢量繪圖軟件
            2008-01-31 09:11 | teli
            另外再給點(diǎn)建議,建議統(tǒng)一繪制引擎,這是關(guān)鍵,呵呵  回復(fù)  更多評(píng)論
              
            # re: 打算做一個(gè)開(kāi)源的矢量繪圖軟件
            2008-01-31 09:13 | teli
            我有 QCAD 的源碼,需要跟我聯(lián)系

            teli_eurydice@163.com  回復(fù)  更多評(píng)論
              
            # re: 打算做一個(gè)開(kāi)源的矢量繪圖軟件
            2008-01-31 09:24 | 小七
            這個(gè)我已經(jīng)做過(guò)了,基于GDI+,實(shí)現(xiàn)了visio基本畫(huà)圖功能,包括:line/shape 的繪制,以及線形線寬箭頭內(nèi)部填充的設(shè)置,隨意的組合分解,文本、圖片圖元等。office文檔導(dǎo)入,問(wèn)題是只能保存成自定義格式  回復(fù)  更多評(píng)論
              
            # re: 打算做一個(gè)開(kāi)源的矢量繪圖軟件
            2008-01-31 11:56 | 小四
            說(shuō)說(shuō)我所知道的情況,我看過(guò)的非開(kāi)源優(yōu)秀矢量控件:

            Vector Graphics ActiveX (C++ 優(yōu)秀)
            http://www.script-debugger.com/products/prographer/ax
            Diagram Studio (Delphi 優(yōu)秀,輕量,好使,便宜)
            http://www.tmssoftware.com/diagram.htm
            Visual Graph (Delphi 國(guó)產(chǎn),強(qiáng)大)
            http://www.visual-graph.com
            TCAD (Delphi 國(guó)產(chǎn),優(yōu)秀,輕量,好使,貴)
            http://www.codeidea.com/cn/
            UCanCode Form++ (C++ 國(guó)產(chǎn),強(qiáng)大,貴,到處做廣告)
            http://www.ucancode.com/index.htm
            MicroDraw C++ (國(guó)產(chǎn),專業(yè))
            http://www.microdraw.com/
            集成了繪圖功能的開(kāi)源工具或控件:
            OpenOffice,DIA,Inkscape,JGraph
            我最喜歡Inkscape,它們都很強(qiáng)大,可是集成到自己的程序中比較困難。

            就像過(guò)客說(shuō)的,無(wú)法找到一個(gè)輕量的穩(wěn)定的尤其是免費(fèi)的東東嵌入到自己的程序中來(lái)。也許是因?yàn)橛星度胧噶坷L圖功能需求的程序,都是很復(fù)雜的專業(yè)程序,免費(fèi)的粗糙的東西,一般都滿足不了需求,所以才會(huì)出現(xiàn)那么多昂貴的矢量繪圖引擎。如果有誰(shuí)能夠開(kāi)發(fā)一個(gè)穩(wěn)定的,開(kāi)源并且好擴(kuò)展的控件,讓每個(gè)人的報(bào)表中都秀一把鼠標(biāo)繪圖,也許是個(gè)好消息。
            to teli
            謝謝。
            to giscn
            說(shuō)的是Arc Object嗎?確實(shí)太復(fù)雜了。我用感覺(jué)Map Object還不錯(cuò),不過(guò)功能太有限。做的最后一個(gè)GIS項(xiàng)目用的是ArcIMS,不理解這么弱的東西為什么賣那么貴。據(jù)說(shuō)現(xiàn)在的ArcGis Engine很不錯(cuò),沒(méi)用過(guò)了。
            to 小七
            可以考慮用開(kāi)源的dxf的讀寫庫(kù),另外,能參考一下你的程序嗎。我的信箱cugdj@163.com
              回復(fù)  更多評(píng)論
              
            # re: 打算做一個(gè)開(kāi)源的矢量繪圖軟件
            2008-01-31 20:58 | giscn
            說(shuō)的是 ArcObjects, 可以當(dāng)成一個(gè)過(guò)度設(shè)計(jì)的典型,MapObjects 用的是ActiveX, 接口簡(jiǎn)單,但是不易擴(kuò)展,如果想增加一些核心功能基本不可能,雖然ActiveX 也可以說(shuō)是COM, 但與ArcObjects 用COM 來(lái)建構(gòu)系統(tǒng)是兩碼事,ArcEngine 與ArcObjects 是一樣的東西只是做了個(gè)小調(diào)整,增加了一些控件而已,本質(zhì)上并無(wú)區(qū)別。
            繪圖軟件的需求很不相同,比如AutoCAD,功能很強(qiáng)大,但是對(duì)付GIS 這樣數(shù)據(jù)量大的環(huán)境就不行,像visio 與AutoCAD 的區(qū)別也是很明顯的,工具性質(zhì)的軟件都是有很強(qiáng)的針對(duì)性,感覺(jué)目標(biāo)如果大而全,架構(gòu)難以兼顧。只是個(gè)人見(jiàn)解,歡迎探討  回復(fù)  更多評(píng)論
              
            # re: 打算做一個(gè)開(kāi)源的矢量繪圖軟件
            2008-01-31 21:01 | giscn
            其實(shí)QCAD 的源碼就在網(wǎng)上,還有dxflib :
            ftp://ribbonsoft.com/archives/qcad/qcad-2.0.5.0-1-community.src.tar.gz
            dxflib:
            http://www.ribbonsoft.com/archives/dxflib/dxflib-2.0.4.8-2.src.tar.gz

            簡(jiǎn)單試了一下,dxflib還支持 2004,不錯(cuò)  回復(fù)  更多評(píng)論
              
            # re: 打算做一個(gè)開(kāi)源的矢量繪圖軟件
            2008-02-01 10:03 | daids
            QCAD的用來(lái)學(xué)習(xí)還是很不錯(cuò)的  回復(fù)  更多評(píng)論
              
            # re: 打算做一個(gè)開(kāi)源的矢量繪圖軟件
            2008-02-01 10:24 | houzi
            # re: 打算做一個(gè)開(kāi)源的矢量繪圖軟件
            2008-04-11 00:26 | wonder
            支持,兄弟  回復(fù)  更多評(píng)論
              
            # re: 打算做一個(gè)開(kāi)源的矢量繪圖軟件
            2008-05-22 23:39 | VC++
            我是一個(gè)VC初學(xué)者,看了“打算做一個(gè)開(kāi)源的矢量繪圖軟件”這篇文章里面,我下了你的程序,可是編譯的時(shí)候出錯(cuò),錯(cuò)誤是我是一個(gè)VC 的初學(xué)者,下載了你的軟件,可以編譯的時(shí)候出錯(cuò)啊,錯(cuò)誤是fatal error C1083: Cannot open include file: 'GdiPlus.h': No such file or directory,找了一下,是沒(méi)有這個(gè)GdiPlus的文件啊,想請(qǐng)教一下是何原因?  回復(fù)  更多評(píng)論
              
            # re: 打算做一個(gè)開(kāi)源的矢量繪圖軟件
            2008-11-12 14:33 | rhf rhf
            可以看看這個(gè)矢量繪圖軟件http://www.visual-graph.com  回復(fù)  更多評(píng)論
              
            # re: 打算做一個(gè)開(kāi)源的矢量繪圖軟件
            2009-07-31 16:55 | eric_chen
            一個(gè)輕量級(jí)的矢量繪圖軟件庫(kù)
            http://picasso-graphic.googlecode.com/files/picasso_0.9_beta1.zip

            email: onecoolx@gmail.com  回復(fù)  更多評(píng)論
              
            # re: 打算做一個(gè)開(kāi)源的矢量繪圖軟件
            2009-08-26 10:20 | eric_chen
            # re: 打算做一個(gè)開(kāi)源的矢量繪圖軟件
            2009-11-24 09:26 | dxwang
            不錯(cuò),學(xué)習(xí)了,繼續(xù)關(guān)注  回復(fù)  更多評(píng)論
              
            # re: 打算做一個(gè)開(kāi)源的矢量繪圖軟件
            2010-03-02 22:45 | jasonchen
            有沒(méi)有繼續(xù)??  回復(fù)  更多評(píng)論
              
            # re: 打算做一個(gè)開(kāi)源的矢量繪圖軟件
            2010-11-21 11:20 | xiao_liang
            @VC++
            下個(gè)vc 6.0的Gdi+,放到工程目錄下  回復(fù)  更多評(píng)論
              
            # re: 打算做一個(gè)開(kāi)源的矢量繪圖軟件
            2011-03-10 17:59 | 學(xué)生
            現(xiàn)在進(jìn)度如何了?有delphi版嗎?  回復(fù)  更多評(píng)論
              
            # re: 打算做一個(gè)開(kāi)源的矢量繪圖軟件
            2012-02-29 14:37 | 張?jiān)瀑F
            請(qǐng)關(guān)注和參與“跨平臺(tái)輕量級(jí)矢量圖形框架”graph2d:
            https://github.com/rhcad/graph2d

            目前正在開(kāi)發(fā)iPad/Android等觸摸屏上的繪圖平臺(tái),高手們敬請(qǐng)參與審核改進(jìn)
            開(kāi)發(fā)討論區(qū): http://q.weibo.com/1769667  回復(fù)  更多評(píng)論
              
            # re: 打算做一個(gè)開(kāi)源的矢量繪圖軟件
            2014-02-07 15:22 | guoj
            你好,看了你編譯后的程序<編譯好的可執(zhí)行程序>,感覺(jué)你做的真好:)
            另外,我是特別支持你用MFC來(lái)開(kāi)發(fā)這個(gè)輕巧的矢量圖程序。

            不知道是否可以跟你聯(lián)絡(luò)上,我的QQ是:357 400 898,希望能夠聯(lián)系上.

              回復(fù)  更多評(píng)論
              
            # re: 打算做一個(gè)開(kāi)源的矢量繪圖軟件
            2015-04-29 01:09 | sh
            我用VB做了一個(gè),功能比這個(gè)要強(qiáng)大,沒(méi)有"基于"什么,但有些地方?jīng)]有這個(gè)科學(xué),學(xué)習(xí)一下.  回復(fù)  更多評(píng)論
              
            # re: 打算做一個(gè)開(kāi)源的矢量繪圖軟件
            2015-07-31 18:55 | wangyou
            我也剛開(kāi)始做矢量繪圖方面的設(shè)計(jì)??蚣鼙容^重要。不知道大家有沒(méi)有edraw的控件開(kāi)發(fā)經(jīng)驗(yàn)交流的。https://www.edrawsoft.com/edboard.php 直接用比較方便。但是貌似它們已經(jīng)不提供更新了。  回復(fù)  更多評(píng)論
              
            # re: 打算做一個(gè)開(kāi)源的矢量繪圖軟件
            2016-01-17 22:43 | djz
            這個(gè)編譯好的 對(duì)于代碼在哪里?

            麻煩發(fā)一份到 djzbj@163.com,學(xué)習(xí)下。
            謝謝  回復(fù)  更多評(píng)論
              
            久久免费视频6| 久久伊人五月丁香狠狠色| 国内精品免费久久影院| 无码超乳爆乳中文字幕久久| 久久精品成人一区二区三区| 国产91色综合久久免费分享| 亚洲AV乱码久久精品蜜桃| 国产精品久久久久国产A级| 久久er99热精品一区二区| 久久99精品国产麻豆宅宅| 婷婷久久综合九色综合绿巨人| 久久综合欧美成人| 人人狠狠综合久久亚洲婷婷| 久久婷婷人人澡人人爽人人爱| 久久国产精品99精品国产987| 日本精品久久久久中文字幕8| 久久香综合精品久久伊人| 久久亚洲综合色一区二区三区| 思思久久精品在热线热| 久久国产成人精品国产成人亚洲| 精品少妇人妻av无码久久| 无码人妻少妇久久中文字幕 | 99久久免费国产特黄| 无夜精品久久久久久| 国产一区二区精品久久凹凸| www久久久天天com| 少妇久久久久久被弄高潮| 思思久久99热只有频精品66| 色综合久久88色综合天天 | 国产精品综合久久第一页| 日本高清无卡码一区二区久久| 久久91精品久久91综合| 久久精品国产亚洲av影院| 久久久久亚洲AV成人网人人网站| 久久综合久久性久99毛片| 久久久久香蕉视频| 人妻无码久久精品| 亚洲性久久久影院| 久久91亚洲人成电影网站| 97久久精品国产精品青草| 国产亚洲欧美成人久久片|