實現簡單的手寫塗鴉板(demo原始碼)

2022-03-01 22:18:19 字數 1589 閱讀 6619

在一些軟體系統中,需要用到手寫塗鴉的功能,然後可以將塗鴉的結果儲存為,並可以將「真跡」通過網路傳送給對方。這種手寫塗鴉功能是如何實現的了?最直接的,我們可以使用windows提供的gdi技術或gdi+技術來實現繪圖功能。但是,要實現乙個如此簡單的塗鴉板,也不是那麼容易的事情。幸運的是,我們可以直接使用omcs

提供的內建整合了這種功能的乙個winform控制項handwritingpanel

handwritingpanel控制項的主要介面如下圖所示:

///

///設定畫筆顏色。

/// color pencolor

//////

設定畫筆粗細。

/// float penwidth

//////

清空畫板。

/// void

clear();

//////

獲取塗鴉的結果(位圖)。

///

bitmap gethandwriting();

將handwritingpanel控制項從工具箱拖到你的ui上,可以通過pencolor和penwidth屬性設定畫筆的顏色和粗細。執行起來後,就可以在控制項的表面進行塗鴉和手寫了。     

如果需要清空手寫板,則呼叫clear方法。

當手寫結束的時候,則呼叫gethandwriting方法得到手寫的結果,並儲存為位圖。點陣圖的大小即是handwritingpanel控制項的尺寸。

ok,下面我們就寫了乙個使用handwritingpanel來實現手寫塗鴉板的demo,demo的主要**如下所示:     

public

partial

class

handwritingform : form

}public

handwritingform()

private

void button_color_click(object

sender, eventargs e)

}catch

(exception ee)

}//設定畫筆寬度

private

void combobox_brushwidth_selectedindexchanged(object

sender, eventargs e)

else

}private

void button_clear_click(object

sender, eventargs e)

private

void button_ok_click(object

sender, eventargs e)

private

void button_cancel_click(object

sender, eventargs e)

}

其執行效果如下圖所示:      

kafka的簡單demo實現

在一文中,已經在本地安裝好了kafka,接下來就是介紹kafka開發環境的搭建與最簡單的demo 開發。一 kafka.properties 首先是生成乙個kafka.properties,裡面配置的是生產者 消費者 topic group的基本引數。具體含義如下 生產者 1 kafka.produ...

vuex的理解以及簡單的demo實現

存 mutations 只能由它來操作state 中 actions 處理非同步任務給mutation 取 getters 類似計算屬性,依賴state資料 庫 state 即資料來源 注意 解構出來的方法只能有乙個引數,如果有多個要傳遞,可以使用陣列或者物件。import computed met...

基於TCP套接字實現的簡單Demo

由於 的注釋已經很詳盡了,所以這裡不再作過多說明.僅僅貼出 和結果圖.值得注意的是必須先啟動server程式再啟動client.server include 套接字型檔 include define port 6000 伺服器端口 define msgsize 1024 收發緩衝區的大小 pragm...