基於Duilib的白板專案

2021-10-11 09:06:52 字數 2452 閱讀 4584

1 設計之初就是想實現類似於辦公室玻璃牆的一樣的白板,可書寫,透明,還可以新增自己需要的工具

2 除了duilib不依賴其他的介面庫,可以插入到任何工程中。

1 常規的圖形(矩形,橢圓,直線,箭頭,三角形,菱形)

2 圖形的二次編輯(移動,刪除,新增)

3 圖形儲存功能,通過序列化反序列化可以將圖形儲存成json

4 由於本視窗是透明視窗,可以覆蓋在其他的視窗上面,實現標註功能

注:測試demo沒有寫太詳細,可以自己摸索

部分介面:

class

export canvasview

;virtual

void

onaddimage

(const

char

*url,

const

char

*context)

;//傳送新增的筆跡資料給第三方呼叫者

virtual

void

sendpenpath

(innerpeninfo &peninfo)

;//滑鼠以及按鍵事件的回傳

virtual

void

onmousekeymessage

(unsigned

int umsg,

unsigned

int wparam,

long lparam)

;virtual

void

onmousewheelmessage

(unsigned

int umsg,

unsigned

int wparam,

long lparam)

;virtual

~delegate()

};//供第三方呼叫的介面剖

public

:virtual

~canvasview()

virtual

void

setpencolor

(dword color)=0

;virtual

void

setpensize

(int pen_size )=0

;//設定選擇的工具

virtual

void

selecttools

(tooltypes tool_type)=0

;//建立畫布

virtual

bool

createcanvas

(int width,

int height)=0

;//重新設定對映範圍

virtual

void

resetcanvas

(int width,

int height)=0

;//設定畫板的位置

virtual

bool

setcanvasviewpos

(int x,

int y,

int width,

int height)=0

;virtual

long

getcanvasviewhwnd()

=0;virtual

void

pageto

(int page)=0

;//設定縱向偏移量 scroll true 滾動條引起的 false 翻頁引起的

virtual

void

setoffset

(int offsety,

bool scroll=

true)=

0;virtual

void

addimage

(char

*url,

char

*filepath,

char

*info)=0

;virtual

void

hide()

=0;virtual

void

show()

=0;//序列化

virtual std::string marshal()

=0;//反序列化

virtual

void

unmarshal

(std::string grapics_data)=0

;virtual

void

changecontrols

(changetype type, std::string change_infos)=0

;virtual

void

seteditable

(bool enable)=0;};

基於duilib的虛擬列表實現

本文由作者鄒啟文授權網易雲社群發布。在郵箱大師選擇duilib作為ui開發庫後,我們面臨這樣乙個問題。隨著時間的積累,使用者資料會越來越多,如何保證我們的軟體在展示這些資料時依然保持非常好的體驗?原生態duilib列表的實現是,資料與控制項 列表的每一項 一一對應,即有多少資料,便有多少控制項。通過...

用白板解決專案管理和團隊溝通

1 任務板 任務是分解到手頭的實際的工作 把要做的任務,正在做的任務和已經完成的任務,用簡單的貼士貼在白板上.不同的顏色表示不同的重要程度.可以畫一些橫的泳道來表明任務應該是誰來完成.2 需求特性板 需求特性是軟體大的功能需求,通常按照月份來進行歸類.3 敏捷開發需要把軟體設計分成三個部分 特性 用...

尋找白板上的便籤條

題目的大概意思就是這樣的白板,尋找上面的各種便籤條。我找到了橘色的,結果是這樣 是這樣 mat src imread gray stickers.png mat temp vector planes cvtcolor src,src,color bgr2hsv split src,planes op...