本發明屬于繪圖技術領域,具體涉及一種智能畫板的畫面合成方法。
背景技術:
畫板是用來繪圖的工具,當前市面上的畫板應用的可擴展性低,功能單一,并且存在以下問題:1.曲線不夠圓滑;2.cpu占用高;3.缺少一項或多項功能(撤銷、重做、橡皮擦、錄制腳本)的功能;4.只支撐單人涂鴉;5.多人繪制時,顯示端無法展示時快時慢的真實繪畫感。
因此,有必要研究一種智能畫板畫面合成方法,提升畫圖時的性能,增加簡單的功能。
技術實現要素:
為了克服背景技術中存在的不足,本發明提出一種智能畫板畫面合成方法;能夠將多次繪畫的視圖合并在繪畫視圖層上。
為了達到上述目的,本發明通過如下技術方案實現的:
一種智能畫板畫面合成方法,包括以下步驟:
1)創建智能畫板層級結構,所述智能畫板層級結構從下到上依次為畫板視圖層、背景圖層、合成視圖層和繪畫視圖層;
2)使用貝賽爾路徑記錄在繪畫視圖層上繪畫的路徑,由路徑生成圖片,并將圖片顯示在繪畫視圖層上;
3)繪圖完成后,將繪畫視圖層上的圖片傳遞到合成視圖層上緩存,繪畫視圖層消除其上的貝賽爾路徑記錄,恢復初始狀態;
4)將合成視圖層上緩存的圖片與背景圖層上的圖片合成并在繪畫視圖層上生成圖片相冊。
進一步,在步驟2)中,繪畫視圖層恢復初始狀態后,再次記錄二次繪畫的貝賽爾路徑并二次生成圖片,將二次生成的圖片傳遞到合成視圖層上緩存,繪畫視圖層消除其上的貝賽爾路徑記錄,再次恢復初始狀態。
進一步,所述的貝賽爾路徑記錄繪畫的路徑包括以下具體步驟:
1)繪畫視圖層采集用戶的滑動軌跡坐標點;
2)當采集到第5個點時,重新設置第4個點的值:第4個點的x坐標設置為第3個點的x坐標和第5個點的x坐標的平均值,第4個點的y坐標設置為3個點的y坐標和第5個點的y坐標的平均值;
3)以第1點為起點,第4點為終點,第2點和第3點為控制點,繪制二次貝塞爾曲線;
4)設置下次處理的第1點的坐標為本次的第5點的坐標,采集數加1;
5)重復第2步,直至處理完全部坐標點。
進一步,所述繪畫視圖層上生成圖片相冊后,畫板生成腳本,腳本使用數組記錄用戶的繪制操作過程,繪制操作過程包括點擊、移動、結束、保存和播放操作;點擊操作時,腳本記錄此時的坐標點、時間點、畫筆的顏色、線寬和形狀;移動操作時,腳本記錄移動的坐標點和時間點;結束操作時,腳本記錄此時的坐標點和時間點;完成操作時,腳本將數據打包存儲在腳本數組中;保存操作時,將腳本數組歸檔至文件中。
進一步,背景圖層用來顯示背景圖片。
與現有技術相比,本發明至少具有以下有益效果之一:
1.本方法繪制的圖片較現有繪圖方法繪制的圖片沒有明顯的邊角,曲線較圓潤;
2.本發明使用時cpu占用較低,頻繁和大量繪制時,cpu占用低于10%;
3.本方法功能較多,能夠進行撤銷、重做、橡皮擦和錄制腳本的功能;
4.本發明支持多人涂鴉,并且多人繪制時,能夠展示時快時慢的真實繪畫感。
具體實施方式
為了使本發明的目的、技術方案和有益效果更加清楚,下面將結合附圖,對本發明的優選實施例進行詳細的說明,以方便技術人員理解。
實施例1
一種智能畫板畫面合成方法,包括以下步驟:
1)創建智能畫板層級結構,所述智能畫板層級結構從下到上依次為畫板視圖層、背景圖層、合成視圖層和繪畫視圖層,背景圖層用來顯示背景圖片。
2)使用貝賽爾路徑記錄在繪畫視圖層上繪畫的路徑,由路徑生成圖片,并將圖片顯示在繪畫視圖層上;
3)繪圖完成后,將繪畫視圖層上的圖片傳遞到合成視圖層上緩存,繪畫視圖層消除其上的貝賽爾路徑記錄,恢復初始狀態;
4)將合成視圖層上緩存的圖片與背景圖層上的圖片合成并在繪畫視圖層上生成圖片相冊。
在繪制圖片時,繪圖者在繪畫視圖層上進行畫圖,貝賽爾路徑記錄在繪畫視圖層上繪畫的路徑,由路徑生成圖片,然后繪畫視圖層上的圖片傳遞到合成視圖層上緩存,將在合成視圖層上緩存的照片和背景圖層上的圖片合成并在繪畫視圖層上生成圖片相冊。
實施例2
在實施例1的基礎上進行優化,在步驟2)中,繪畫視圖層恢復初始狀態后,再次記錄二次繪畫的貝賽爾路徑并二次生成圖片,將二次生成的圖片傳遞到合成視圖層上緩存,繪畫視圖層消除其上的貝賽爾路徑記錄,再次恢復初始狀態。
在進行繪圖過程中,繪圖者在繪畫視圖層上進行畫圖,貝賽爾路徑記錄在繪畫視圖層上繪畫的路徑,由路徑生成圖片,并將圖片傳遞到合成視圖層上緩存,繪畫視圖層消除其上的貝賽爾路徑記錄,恢復初始狀態,繪畫視圖層恢復初始狀態后,再次記錄二次繪畫的貝賽爾路徑并二次生成圖片,將二次生成的圖片傳遞到合成視圖層上緩存,將兩次在合成視圖層上緩存的照片和背景圖層上的圖片合成并在繪畫視圖層上生成圖片相冊。
實施例3
在實施例2的基礎上進行優化,所述的貝賽爾路徑記錄繪畫的路徑包括以下具體步驟:
1)繪畫視圖層采集用戶的滑動軌跡坐標點;
2)當采集到第5個點時,重新設置第4個點的值:第4個點的x坐標設置為第3個點的x坐標和第5個點的x坐標的平均值,第4個點的y坐標設置為3個點的y坐標和第5個點的y坐標的平均值;
3)以第1點為起點,第4點為終點,第2點和第3點為控制點,繪制二次貝塞爾曲線;
4)設置下次處理的第1點的坐標為本次的第5點的坐標,采集數加1;
5)重復第2步,直至處理完全部坐標點。
貝賽爾曲線繪制能夠使得繪制的圖片沒有明顯的邊角,曲線較圓潤;并且多人繪制時,能夠展示時快時慢的真實繪畫感。
實施例4
在實施例2的基礎上進行優化,所述繪畫視圖層上生成圖片相冊后,畫板生成腳本,腳本使用數組記錄用戶的繪制操作過程,繪制操作過程包括點擊、移動、結束、保存和播放操作;點擊操作時,腳本記錄此時的坐標點、時間點、畫筆的顏色、線寬和形狀;移動操作時,腳本記錄移動的坐標點和時間點;結束操作時,腳本記錄此時的坐標點和時間點;完成操作時,腳本將數據打包存儲在腳本數組中;保存操作時,將腳本數組歸檔至文件中。
本方法繪制的圖片較現有繪圖方法繪制的圖片沒有明顯的邊角,曲線較圓潤;本發明使用時cpu占用較低,頻繁和大量繪制時,cpu占用低于10%;本方法功能較多,能夠進行撤銷、重做、橡皮擦和錄制腳本的功能;本發明支持多人涂鴉,并且多人繪制時,能夠展示時快時慢的真實繪畫感。
最后說明的是,以上優選實施例僅用以說明本發明的技術方案而非限制,盡管通過上述優選實施例已經對本發明進行了詳細的描述,但本領域技術人員應當理解,可以在形式上和細節上對其作出各種各樣的改變,而不偏離本發明權利要求書所限定的范圍。