• <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>

            Jcily

             

            可旋轉的文字輸入實現

             

            目前完成了百分之50

             

                重復發明輪子是一件勞命傷財的事情,如果不能帶來立竿見影的經濟價值,特別是在為公司工作時,相信不會有人去重復做一些別人已經做過的事情。但是總有一些人會情愿花費時間或者金錢去自己造一次輪子,只能說,人的欲望很多,這是其中一種欲望的體現。

                很久以前和很長一段的業余時間里,我一直在自己模仿CorelDraw以及AutoCAD的繪圖功能,大部分繪圖編輯操作的實現都有比較能夠猜出其實現思路或者是模擬實現的方法,并實現了一部分。其間我記憶比較深刻的難點就是"所見即所得的文字輸入"功能,起初的方案是使用RichEdit,將該控件透明化后貼在編輯視圖區域來進行文字輸入,這個辦法還不錯,并且WIN32平臺下大多數圖形編輯軟件都是這么做,比如畫圖,visio等。

                但是后來我發現CorelDraw確實太COOL了,其WYSWYG的文字輸入的過程也是可以旋轉的,這里我不想跟你以及我自己爭論這個特性的實用性和必要性,因為大家包括我自己都會認為在正常的平行輸入后再旋轉文字最終顯示結果是一樣,但我仍然覺得這個特性是一個很重要細節,雖然其最終編輯的結果是一樣,但很顯然編輯的過程完全是不同的體驗(不僅僅是耍酷),這是可重入的真正的WYSWYG,因為用戶下次修改文字仍然可以在現有角度WYSWYG的進行。

                啰嗦了,有時候我是很偏執,以至于浪費很多時間,不過這個過程我很享受,就和打游戲類似。

             

                這里說一下實現的思路:重復發明一個輪子,這樣你就擁有最易掌控度的改裝能力。

            posted on 2010-08-10 02:26 Jcily 閱讀(3071) 評論(14)  編輯 收藏 引用

            評論

            # re: 可旋轉的文字輸入實現 2010-08-10 08:39 路青飛

            支持你!
            貌似跟我性格相似!
            內心比較糾結,不知是好是壞~  回復  更多評論   

            # re: 可旋轉的文字輸入實現 2010-08-10 10:16 小發

            很想看看執行效果  回復  更多評論   

            # re: 可旋轉的文字輸入實現 2010-08-10 12:29 陳梓瀚(vczh)

            繪制有api支持,輸入的話你要響應IME_*消息來獲取平滑的顯示。如果不太關心輸入的時候的顯示質量的話,可以響應WM_CHAR。你唯一要做的就是跟蹤光標,然后調整輸入法窗口的位置。

            不過想模擬一個文本框還是很麻煩的,我曾經自己實現過一個比TextBox高效很多(特別是在加載幾百M文本的時候)的文本框,真TM痛苦……drag and drop也要1000多行的COM才能搞定- -b那個API太囧了。  回復  更多評論   

            # re: 可旋轉的文字輸入實現 2010-08-10 16:39 疑問

            旋轉坐標系不就成了么?  回復  更多評論   

            # re: 可旋轉的文字輸入實現 2010-08-10 17:50 陳梓瀚(vczh)

            @疑問
            GDI沒有這個功能  回復  更多評論   

            # re: 可旋轉的文字輸入實現 [未登錄] 2010-08-10 19:09 by

            實現一個擁有抽象繪制接口的TEXTBOX。
            實現一個可旋轉坐標系的繪制接口。
            嗯,成了。
              回復  更多評論   

            # re: 可旋轉的文字輸入實現 [未登錄] 2010-08-10 19:50 Jcily

            @陳梓瀚(vczh)
            說得很透徹,這些古老的細節特性在實現的過程中相當搞人  回復  更多評論   

            # re: 可旋轉的文字輸入實現 [未登錄] 2010-08-10 19:52 Jcily

            @by
            這里我沒有嘗試旋轉坐標系,想來Caret這個系統資源可能在旋轉后也不能跟著用戶態的繪制DC變化吧。  回復  更多評論   

            # re: 可旋轉的文字輸入實現 2010-08-11 11:15 陳梓瀚(vczh)

            @Jcily
            繪制平直的橢圓跟繪制傾斜的橢圓的算法是完全不同的- -b這就是為什么GDI不提供,GDI+又那么慢……  回復  更多評論   

            # re: 可旋轉的文字輸入實現 [未登錄] 2010-08-11 23:59 Jcily

            @陳梓瀚(vczh)
            這個其實無所謂,對于GDI和GDI+來說他們畫圓畫弧都是轉化成貝塞爾曲線來畫的,所以旋轉效果圖是可以。但是面向的僅僅是“結果圖”,而對于編輯的實現講究的是動態呈現(渲染),然而GDI,GDI+并沒有如OpenGL和DirectX的強大高效的坐標空間變換,因此這里沒有使用此辦法。曾有個CSDN網友說過WPF可以實現實時的三維角度的旋轉的文字輸入,其原理就是有DX支持。不過WPF貌似離我的應用還比較遠。  回復  更多評論   

            # re: 可旋轉的文字輸入實現 2010-08-12 09:20 hoodlum1980

            Photoshop也有這個功能呀,ps可以讓文字沿著一條路徑編輯。光標的方向是跟著路徑走的。。  回復  更多評論   

            # re: 可旋轉的文字輸入實現 [未登錄] 2010-08-12 10:28 Jcily

            @hoodlum1980
            是的,我也準備同時實現這個  回復  更多評論   

            # re: 可旋轉的文字輸入實現 2010-08-13 00:53 陳梓瀚(vczh)

            @Jcily
            GDI+有強大的坐標和效果功能,只是GDI沒有,不要混為一談。  回復  更多評論   

            # re: 可旋轉的文字輸入實現 [未登錄] 2010-08-13 09:55 Jcily

            @陳梓瀚(vczh)
            GDI有的,只是相關函數來得不如GDI+溫柔,首先你的SetGraphicsMode到高級模式(GM_ADVANCED),接著需要你自己計算一個XFORM結構的二維矩陣丟給它hdc,GDI+變換坐標系就直接有自己Graphics下的Translate,rotate等提供。只是GDI的這個特性很少有基礎教程提及,應用的也不多。  回復  更多評論   

            導航

            統計

            常用鏈接

            留言簿(1)

            隨筆分類

            隨筆檔案

            文章檔案

            相冊

            搜索

            最新評論

            閱讀排行榜

            評論排行榜

            老司机国内精品久久久久| 久久综合精品国产一区二区三区| 狠狠色丁香久久婷婷综合蜜芽五月| 亚洲国产成人精品91久久久 | 嫩草伊人久久精品少妇AV| 久久久久免费看成人影片| 岛国搬运www久久| 国产精品久久久久久五月尺| 嫩草影院久久99| 伊人久久精品无码二区麻豆| 国产精品成人精品久久久| 亚洲精品乱码久久久久久| 99热都是精品久久久久久| 久久久久久国产精品无码下载 | 日本亚洲色大成网站WWW久久 | 久久无码AV中文出轨人妻| 国产精品xxxx国产喷水亚洲国产精品无码久久一区 | 婷婷久久香蕉五月综合加勒比| 久久被窝电影亚洲爽爽爽| 性高朝久久久久久久久久| 成人免费网站久久久| 国产免费久久精品99re丫y| 久久久久国产一级毛片高清版| 久久狠狠爱亚洲综合影院| 超级碰久久免费公开视频| 狠狠狠色丁香婷婷综合久久五月| 无码人妻久久一区二区三区蜜桃| 久久久久久久尹人综合网亚洲| 国产精品久久久久AV福利动漫| 色婷婷久久综合中文久久蜜桃av| 亚洲欧美国产精品专区久久| 国产福利电影一区二区三区久久老子无码午夜伦不 | 蜜臀av性久久久久蜜臀aⅴ麻豆 | 一本久久a久久精品vr综合| 久久本道久久综合伊人| 伊人丁香狠狠色综合久久| 精品久久久久久综合日本| 国产精品久久久久AV福利动漫| 精品永久久福利一区二区| 国产Av激情久久无码天堂| 人妻丰满AV无码久久不卡|