王韋帆
摘要:隨著信息化教學(xué)的廣泛應(yīng)用,特別是在計(jì)算機(jī)類的實(shí)訓(xùn)、實(shí)操課程講授中,教師通常在教師機(jī)端和學(xué)生進(jìn)行屏幕共享,同時還需在多種小軟件間切換,方可實(shí)現(xiàn)在計(jì)算機(jī)上演示的同時,又在計(jì)算機(jī)上進(jìn)行文字書寫、繪制圖形、屏幕錄制等工作。因此,文章意在設(shè)計(jì)實(shí)現(xiàn)一種將圖形繪制、文字標(biāo)注、錄屏、聚光燈等多種功能集于一身的,能顯示于當(dāng)前操作軟件窗口之上的軟件,命名為“電子白板”,輔助廣大教師機(jī)房授課,大大提升機(jī)房教學(xué)效率及效果。
關(guān)鍵詞:電子白板;圖元;C++ Builder
中圖分類號:TP311.1 ? ? ?文獻(xiàn)標(biāo)識碼:A
文章編號:1009-3044(2022)05-0107-04
1引言
隨著信息化教學(xué)的開展,多種輔助教學(xué)軟件廣泛應(yīng)用于課堂。在計(jì)算機(jī)類的實(shí)訓(xùn)、實(shí)操課程講授中,學(xué)生實(shí)時看到教師操作軟件、編寫程序,同時教師也能實(shí)時在計(jì)算機(jī)上進(jìn)行文字書寫、繪制圖形等板書操作,對于知識點(diǎn)、操作點(diǎn)的教與學(xué)都很有好處。因此,教師在借助電子教室軟件實(shí)現(xiàn)屏幕共享的同時,還需在畫圖、Word、PPT、錄屏、截圖等多個軟件間切換,從而滿足教學(xué)需求,優(yōu)化教學(xué)效果。這種慢速切換不僅容易打斷教師教學(xué)思路,也容易導(dǎo)致學(xué)生注意力分散,而且公共教學(xué)機(jī)房裝有還原卡,每次上課都需重復(fù)安裝多個輔助教學(xué)的小軟件。因此,本文將設(shè)計(jì)一種將圖形繪制、文字輸入、錄屏、聚光燈等常用教學(xué)功能集于一身的基于屏幕共享的輔助教學(xué)軟件,便于廣大教師機(jī)房授課,提升機(jī)房授課的教學(xué)效率和效果。本文后續(xù)將該軟件稱為“電子白板”。
2軟件簡介
2.1軟件概述
電子白板作為教學(xué)演示工具,擁有簡潔的操作界面,便捷的操作體驗(yàn),改善了多種教學(xué)輔助軟件間切換的拖沓。軟件運(yùn)行后,以當(dāng)前桌面為背景(白板),以為用戶提供最需要的功能為目的。用戶可以在背景頁面(白板頁)上繪制圖形,它支持畫筆、線條、文字、圓(橢圓)、矩形等操作,另外還有錄屏、放大鏡、圖章、遮屏、聚光燈、導(dǎo)入PPT等工具,并可在背景頁和當(dāng)前正在使用的顯示在底層的軟件間自由切換,使得教學(xué)活動直觀、形象。
2.2開發(fā)環(huán)境選擇
電子白板用于Windows平臺,采用Borland C++Builder 工具開發(fā)。Borland C++ Builder是由Borland公司發(fā)布的一種高性能的可視化集成開發(fā)工具,具有快速的可視化開發(fā)環(huán)境[1]。
利用該工具進(jìn)行軟件開發(fā)時,首先通過將控件(Component)拖拽到窗體(Form)上,然后通過定義它的屬性,并設(shè)定它的外形,應(yīng)用程序界面就能夠簡單快捷地被創(chuàng)建。C++ Builder中包含了一百多種全部封裝了Windows公用特征,并具備了完全的可擴(kuò)展性(包括全面支持ActiveX控件)的可重用控件,這些控件可用于設(shè)計(jì)界面和實(shí)現(xiàn)各種功能,降低編程工作量,簡化界面設(shè)計(jì)過程[2]。且C++ Builder具備一個專業(yè)C++開發(fā)環(huán)境所能實(shí)現(xiàn)的所有功能(迅速、有效、靈活的編譯器優(yōu)化,逐步連接,CPU透視,以及命令行開發(fā)工具等)。它將可視化的編程環(huán)境和功能強(qiáng)大的編程語言(C++)完美融合,是簡單易用的面向?qū)ο蟮拈_發(fā)工具[3]。
2.3電子白板軟件的特點(diǎn)
1)體積小,集成了多種教學(xué)輔助功能:軟件小巧(僅有5.98M),但集合了文字、圖形、聚光燈、放大鏡、遮屏、PPT插入等多種教學(xué)實(shí)用功能,是機(jī)房共享屏幕授課方式的好幫手。
2)集合PPT文檔:在授課過程中,可將教師PPT講義導(dǎo)入,并可在其中進(jìn)行文字、繪圖注釋。
3)圖形矢量化處理:該軟件通過面向?qū)ο蟮木幊碳夹g(shù)實(shí)現(xiàn)了圖形處理,所有對象都是完全獨(dú)立的實(shí)體,同時具備顏色、形狀、大小、位置等屬性[3]。
4)可導(dǎo)出多種格式:電子白板完成編輯后,可導(dǎo)出為其他格式的文件(如PPT、DOC、PDF、BMP等),也可保存為自有格式文件,可作為課堂筆記和學(xué)生分享,也可方便下次重新打開編輯。
3軟件的設(shè)計(jì)思路
3.1軟件界面設(shè)計(jì)
電子白板的界面由兩部分組成,第一部分是白板區(qū)(繪圖區(qū)),第二部分是工具欄。白板區(qū)(繪圖區(qū))可以由當(dāng)前桌面為背景,也可由導(dǎo)入的PPT文檔為背景,繪圖區(qū)基本占據(jù)整個屏幕,方便用戶使用;工具欄在屏幕最右側(cè),其中包含切換、畫筆、圖形、文字、橡皮擦、錄屏、放大鏡等多種按鈕及工具。軟件界面布局如圖1。軟件運(yùn)行界面如圖2。
3.2軟件功能實(shí)現(xiàn)
3.3技術(shù)實(shí)現(xiàn)
面向?qū)ο蟮木幊谭绞?,主要原則就是把所有有關(guān)數(shù)據(jù)和應(yīng)用該數(shù)據(jù)的函數(shù)都封裝為同一個類,用這些類能夠簡單地創(chuàng)建各類圖元對象。該軟件通過使用分類的方法把不同圖元對象分別定義成不同類,然后向類中添加屬性和方法,來響應(yīng)用戶的不同操作。圖元屬性則記錄了該圖元對象的所有數(shù)據(jù)信息,如縱橫坐標(biāo)、圖元類型、顏色等。而圖元方法則定義了該圖元的所有行為信息,如繪圖、移動等。同時通過定義通用類識別并管理以上定義的所有圖元類對象,使之協(xié)同工作,實(shí)際就是一個個對象集合,每個集合對象都有各自的屬性和方法。
開發(fā)電子白板,最基本的就是實(shí)現(xiàn)矢量圖元,其具有以下功能:具備直線、圓、多邊形、文字等圖形元素;具備圖形的縮放、移動、回溯等各種操作;具備顏色、線型等屬性的設(shè)置等[4]。
本軟件的實(shí)現(xiàn),核心是先定義了一個圖元基類,在此基礎(chǔ)上再派生出一個個圖元子類,完成多種圖形的繪制,并對繪制后的圖元數(shù)據(jù)進(jìn)行處理。同時通過放大鏡、錄屏、遮屏、聚光燈等工具的配合,方便教學(xué)過程中的一些特別操作。
1)圖元基類
通過對電子白板要實(shí)現(xiàn)的功能進(jìn)行數(shù)據(jù)抽象,把各個組件的公有屬性,如顏色、線寬、線型和選擇等操作標(biāo)志封裝在一個基類TPicBase中,其余具體的圖元類都由這個基類派生產(chǎn)生。所有派生類的成員都可以訪問該基類中定義的屬性和函數(shù)。通過這種定義方式,可以提高代碼的重用性和安全性。
TComponent為所有組件的公共父類(該類由開發(fā)工具自帶),TPicBase是TComponent的派生類,為后續(xù)定義的圖元類的基類,并提供了在各個對象中進(jìn)行操作的成員函數(shù),也包含了在電子白板顯示區(qū)進(jìn)行操作的成員函數(shù)。通過調(diào)用由TPicBase類以及派生類所提供的成員函數(shù),就能夠?qū)崿F(xiàn)繪圖工具的應(yīng)用、圖形設(shè)備界面的選擇以及顏色和調(diào)色板等各種操作。成員函數(shù)定義如下:
2)圖元派生類
以矩形類TRectPic為例,該類除了具有其基類TPicBase中的共有屬性和方法外,還包含起點(diǎn)坐標(biāo)、終點(diǎn)坐標(biāo)、是否填充、繪制、移動等屬性和方法。矩形類的構(gòu)造函數(shù)負(fù)責(zé)對矩形的其他屬性進(jìn)行初始化。
3)定義繪圖區(qū)
用戶在使用電子白板時,需要有一個固定區(qū)域進(jìn)行文字或繪圖,為此本軟件定義了兩種模式的繪圖區(qū):第一種是將當(dāng)前桌面的內(nèi)容作為繪圖背景區(qū),用戶可在此隨意編寫文字、繪制圖形;第二種是通過導(dǎo)入PPT文檔,將其文檔內(nèi)容作為繪圖背景區(qū),這樣可以針對某些固定內(nèi)容進(jìn)行一邊講義一邊注釋。
本軟件支持增加多個繪圖區(qū)(如通過新建操作或?qū)攵囗揚(yáng)PT文檔),可通過上/下翻頁進(jìn)行繪圖區(qū)的切換,解決用戶在講解多頁P(yáng)PT時來回切換的問題。
4)繪制圖元
繪制圖元前,首先要選定一個繪圖區(qū),并選擇需要繪制的圖元類別。
繪制圖元的基本思路:根據(jù)鼠標(biāo)左鍵的不同事件分別進(jìn)行編程。首先,將鼠標(biāo)左鍵按下時,通過設(shè)置參考點(diǎn)位置,觸發(fā)所選定的圖元類的相應(yīng)事件,在繪圖區(qū)上繪制出該圖元的基本形狀;其次,當(dāng)鼠標(biāo)移動時,先清除之前繪制的圖元,然后再以當(dāng)前鼠標(biāo)的坐標(biāo)點(diǎn)為參考位置重新繪制圖元,并更新參考點(diǎn)坐標(biāo)到當(dāng)前位置;當(dāng)鼠標(biāo)左鍵彈起時,完成圖元繪制,可以對其進(jìn)行屬性設(shè)置,如顏色、填充等操作[5]。
5)圖元數(shù)據(jù)處理
圖元繪制完畢后,每個圖形元素都是圖元類創(chuàng)建的一個對象,在創(chuàng)建這個對象時得到了這個對象的指針,然后建立一個對象指針數(shù)組來管理這些指針,以達(dá)到管理各個圖元對象的目的,用TComponentList類創(chuàng)建一個管理類指針的對象:TComponentList* PicList[6]。
PicList會將已經(jīng)繪制的圖元對象進(jìn)行添加,當(dāng)圖形重新加載時,可以根據(jù)這些數(shù)據(jù)準(zhǔn)確重新恢復(fù)繪制的圖形。同時,圖形中各個圖元對象擁有自己的圖元信息,用戶可以對其進(jìn)行分別選定及操作(也可將繪圖區(qū)與所繪制的所有圖元數(shù)據(jù)單獨(dú)存成自有格式,這樣下次打開時,還可以對該文件重新進(jìn)行編輯)。
增加一個圖元對象時,需要進(jìn)行兩個步驟的操作:首先需要創(chuàng)建一個圖元對象,并用圖元的實(shí)際參數(shù)初始化這個圖元對象;其次需要把指向新創(chuàng)建的圖元對象的指針,增加到PicList中。
6)其他工具的設(shè)計(jì)
針對其他工具,我將以聚光燈為例(聚光燈的功能:實(shí)現(xiàn)某一部分區(qū)域是看得見的,其他區(qū)域是被遮擋的,高亮區(qū)域的大小可變,位置可變),說明其設(shè)計(jì)方法:在繪圖區(qū)的頂層,增加一個窗體作為聚光燈窗體,將該窗體最大化,背景色設(shè)置為灰色(顏色可隨意),設(shè)置其透明度為半透明,在其中畫上圓形(可切換為正方形或三角形)作為高亮區(qū)域,并對其進(jìn)行透明處理,這樣就可以看到繪圖區(qū)的圖像了,鼠標(biāo)左鍵選擇透明圓形,并對其進(jìn)行移動,隨著移動,底部看到的區(qū)域也是變化的,鼠標(biāo)松開后,透明區(qū)域會在新的位置。事件主要就是處理鼠標(biāo)的事件,如下:
4軟件應(yīng)用
以該軟件在《3Ds Max技術(shù)基礎(chǔ)》機(jī)房實(shí)訓(xùn)課程中的應(yīng)用為例,教師在實(shí)時共享主機(jī)屏幕的同時,利用電子白板軟件實(shí)現(xiàn)了3Ds Max軟件操作界面(如圖3)與白板頁面間的切換。
學(xué)生可以一邊觀看屏幕上教師實(shí)時的3D建模操作,一邊看到教師以當(dāng)前電腦桌面或以PPT課件為白板頁,進(jìn)行圈圈畫畫、文字注釋,如圖4。同時根據(jù)教學(xué)需求,還可使用放大鏡、聚光燈等工具,從而巧妙地將屏幕與傳統(tǒng)黑板在電腦屏幕上合二為一,實(shí)現(xiàn)了教師在電腦屏幕上進(jìn)行板書操作,突出教學(xué)任務(wù),提升了教學(xué)效率與效果。聚光燈工具使用,如圖5。放大鏡工具使用,如圖6。
5結(jié)束語
基于屏幕共享的電子白板軟件設(shè)計(jì)實(shí)現(xiàn)后,已經(jīng)在學(xué)院多名機(jī)房授課教師講課的過程中實(shí)際應(yīng)用。該軟件小巧、易操作,功能實(shí)用,不僅可以在白板區(qū)域進(jìn)行多種方式的注解和標(biāo)識,且靈活在白板頁和軟件操作頁面間切換,方便課堂演示講解,使得授課過程的多環(huán)節(jié)貫通流暢。同時,極大節(jié)省了在公共機(jī)房課前及課中重啟計(jì)算機(jī)后安裝小軟件的時間,是實(shí)際教學(xué)的好助手。
參考文獻(xiàn):
[1] 劉光.C++ Builder程序設(shè)計(jì)導(dǎo)學(xué)[M].北京:清華大學(xué)出版社,2002.
[2] 梁忠,吉偉明.計(jì)算機(jī)信息系統(tǒng)開發(fā)在學(xué)籍管理系統(tǒng)中的應(yīng)用[J].福建電腦,2010,26(3):149-150.
[3] 閔輝.基于C++ Builder6.0的《C++程序設(shè)計(jì)》教學(xué)知識點(diǎn)演示系統(tǒng)研究與運(yùn)用[J].家教世界,2013(2):233-234.
[4] 錢偉.Photoshop平面圖像處理實(shí)例教程[M].北京:北京理工大學(xué)出版社,2013.
[5] 邵筆貴,袁榮湘,張海梁,等.面向?qū)ο蟮膱D形化故障計(jì)算軟件的開發(fā)[J].廣西電力,2005,28(1):13-17.
[6] 吳俊鋒,劉韻,蔡蓊蔚.基于面向?qū)ο蠹夹g(shù)的基本繪圖平臺的設(shè)計(jì)[J].指揮信息系統(tǒng)與技術(shù),2010,1(2):56-60.
【通聯(lián)編輯:謝媛媛】