圖形圖像與多媒體編程課件_第1頁
圖形圖像與多媒體編程課件_第2頁
圖形圖像與多媒體編程課件_第3頁
圖形圖像與多媒體編程課件_第4頁
圖形圖像與多媒體編程課件_第5頁
已閱讀5頁,還剩175頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

圖形圖像與多媒體編程圖形圖像與多媒體編程圖形圖像與多媒體編程第十四章圖形圖像與多媒體編程14.1GDI+概述14.2繪制圖形14.3圖像的顯示與保存14.4動(dòng)畫設(shè)計(jì)14.5Web應(yīng)用程序中的圖形圖像操作14.6音頻與視頻播放14.1GDI+概述GDI+:GraphicsDeviceInterfacePlus,它提供了各種豐富的圖形圖像處理功能在C#.NET中,使用GDI+處理二維(2D)的圖形和圖像,使用DirectX處理三維(3D)的圖形圖像。GDI+主要有“二維矢量圖形”、“圖像處理”和“版式”三部分組成。GDI+提供了存儲(chǔ)基元自身相關(guān)信息的類和結(jié)構(gòu)、存儲(chǔ)基元繪制方式相關(guān)信息的類,以及實(shí)際進(jìn)行繪制的類。GDI+為使用各種字體、字號(hào)和樣式來顯示文本這種復(fù)雜任務(wù)提供了大量的支持。其他高級(jí)功能師德師風(fēng)建設(shè)是教師隊(duì)伍建設(shè)的重要組成部分。在深入學(xué)習(xí)踐行科學(xué)發(fā)展觀的大前提下,在著力構(gòu)建業(yè)務(wù)精、作風(fēng)正、效率高、有利于教學(xué)工作科學(xué)發(fā)展的運(yùn)行機(jī)制的同時(shí),師德師風(fēng)建設(shè)必須從教師隊(duì)伍建設(shè)全局的角度來思考。1堅(jiān)持以人為本,深入剖析師德師風(fēng)建設(shè)中存在的問題及成因1.1職業(yè)傾向方面部分教師認(rèn)為教師工作單調(diào)、重復(fù),現(xiàn)在的學(xué)生很難教,教育工作很辛苦,出現(xiàn)職業(yè)倦怠的現(xiàn)象。筆者認(rèn)為有兩個(gè)原因:1)教師職業(yè)本身就具有周期性的特點(diǎn),如果缺乏甘守平凡和開拓創(chuàng)新的精神,周而復(fù)始的工作會(huì)令部分教師產(chǎn)生職業(yè)倦怠現(xiàn)象;2)現(xiàn)在的學(xué)生跟以往相比發(fā)生很大的變化,學(xué)生要求自主和獨(dú)立的意識(shí)比以前強(qiáng)很多,教育教學(xué)工作如果一成不變,學(xué)生就會(huì)產(chǎn)生抵觸情緒,就會(huì)出現(xiàn)部分教師所說的“不聽話”現(xiàn)象,這與德育工作相對(duì)滯后,沒有跟上時(shí)代和形勢(shì)的發(fā)展有很大的關(guān)系。1.2職業(yè)道德價(jià)值觀方面從學(xué)生反饋的情況來看,教師在育人功能的認(rèn)識(shí)方面很到位,但實(shí)際上取得的效果并不是很理想,與預(yù)期的目標(biāo)之間存在一定的差距。原因在于:1)思想政治教育不僅需要教師有職業(yè)道德價(jià)值觀和教書育人的神圣責(zé)任感,更需要教師能夠身體力行,用教師的模范榜樣作用影響學(xué)生,在教學(xué)實(shí)踐中落實(shí)德育滲透工作;2)育人是系統(tǒng)工程,要使學(xué)生全面發(fā)展,整個(gè)教育評(píng)價(jià)體系要進(jìn)行一定的改進(jìn),不單單是要求教師這一塊。1.3職業(yè)操守方面教師能夠做到遵守教育規(guī)律,加強(qiáng)業(yè)務(wù)學(xué)習(xí),提升自身素質(zhì),不斷改進(jìn)教學(xué)方式方法,尊重學(xué)生人格,作風(fēng)正派,社會(huì)公德意識(shí)強(qiáng),自覺抵制社會(huì)不良風(fēng)氣的影響,潔身自好,以身作則,注重身教。1)教師能夠認(rèn)識(shí)到職業(yè)操守對(duì)教師職業(yè)的重要性,堅(jiān)守“學(xué)高為師,身正為范”的職業(yè)道德準(zhǔn)則;2)教師的自律意識(shí)比較強(qiáng),對(duì)自身的道德要求也比較高。1.4教育方式方面學(xué)生反映部分教師不能因材施教,教育觀念和教學(xué)方法還比較陳舊。原因在于:1)教研室長(zhǎng)期以來重視對(duì)教師的師德培訓(xùn),加強(qiáng)教師的法制觀念,教師們都已經(jīng)認(rèn)識(shí)到依法執(zhí)教的重要性,體罰和變相體罰學(xué)生的現(xiàn)象已經(jīng)杜絕;2)部分教師沒有做到因材施教,這與教師沒有及時(shí)更新教育教學(xué)觀念分不開。教育方法還停留在傳統(tǒng)的說教層次,課堂教學(xué)效率不高,現(xiàn)代化的課堂教學(xué)手段不能嫻熟地運(yùn)用,沒有做好學(xué)生的溝通交流工作。對(duì)學(xué)生各個(gè)層次的學(xué)習(xí)特點(diǎn)掌握不足,在理論水平和業(yè)務(wù)能力方面還有所欠缺。1.5其他方面其他方面的問題主要有:1)學(xué)生渴望得到隊(duì)干部和教師的理解,希望多開展一些能與隊(duì)干部、教師一起參與的活動(dòng);2)教師在尊重學(xué)生保留自己獨(dú)立的觀點(diǎn)和意見方面做得更好一些;3)多了解學(xué)生的狀況,及時(shí)反思自己的教學(xué)行為;4)教師要注意自己的言行舉止。造成這些問題的原因是:1)學(xué)生和隊(duì)干部反饋的意見表明,學(xué)生對(duì)教師的心理期望值很高,認(rèn)為教師是道德模范的實(shí)踐者和先行者,所以要求教師在各個(gè)方面為人師表,起到教育和感染學(xué)生的作用;2)學(xué)生的自主意識(shí)和獨(dú)立意識(shí)較強(qiáng),教師在面臨新時(shí)期學(xué)生的特點(diǎn)時(shí),還沒有完全適應(yīng)過來;3)部分教師與學(xué)生的溝通交流只限于課堂,很少有把教育活動(dòng)延伸到課堂之外,讓學(xué)生有陌生感和距離感。2立足全面協(xié)調(diào)可持續(xù)發(fā)展,推進(jìn)師德師風(fēng)建設(shè)2.1加強(qiáng)學(xué)習(xí)提高認(rèn)識(shí)加強(qiáng)理論學(xué)習(xí),提高全體教師對(duì)師德師風(fēng)建設(shè)重要性的認(rèn)識(shí),增強(qiáng)精神動(dòng)力。結(jié)合校情,擬定政治學(xué)習(xí)計(jì)劃,利用學(xué)習(xí)日和黨團(tuán)活動(dòng)日,有計(jì)劃地組織全體教師學(xué)習(xí)領(lǐng)會(huì)鄧小平理論、“三個(gè)代表”重要思想,全面貫徹落實(shí)科學(xué)發(fā)展觀,用科學(xué)的理論武裝頭腦,進(jìn)一步堅(jiān)定對(duì)馬克思主義的信仰,堅(jiān)定在黨的領(lǐng)導(dǎo)下走中國特色社會(huì)主義道路的堅(jiān)定信念,樹立正確的師德觀、榮辱觀,增強(qiáng)職業(yè)榮譽(yù)感、社會(huì)責(zé)任感和歷史使命感。2.2建章立制規(guī)范管理認(rèn)識(shí)是前提,是提高師德師風(fēng)水平的內(nèi)在動(dòng)力;制度是保障,是促進(jìn)師德師風(fēng)水平的外在動(dòng)力,兩者缺一不可。教研室不斷完善制度,努力構(gòu)建良好師德師風(fēng)形成的長(zhǎng)效機(jī)制。發(fā)揮黨政齊抓共管的合力作用,落實(shí)責(zé)任。加強(qiáng)教學(xué)過程的監(jiān)控和管理,開展教學(xué)評(píng)價(jià),把評(píng)價(jià)結(jié)果與評(píng)功、評(píng)獎(jiǎng)掛鉤,形成外部監(jiān)督機(jī)制,促進(jìn)良好師德師風(fēng)形成。把師德師風(fēng)納入日??己撕湍甓瓤己酥校纬杉?lì)機(jī)制。2.3大力宣傳學(xué)習(xí)先進(jìn)要大力宣傳師德師風(fēng)建設(shè)的重要性,在教師隊(duì)伍中大力弘揚(yáng)正氣,熱情幫助存在不足的教師改進(jìn)缺點(diǎn),堅(jiān)決糾正各種不利于消防教育發(fā)展、不利于學(xué)生成長(zhǎng)的思想和行為。充分運(yùn)用校內(nèi)媒介學(xué)習(xí)先進(jìn)人物的先進(jìn)事跡。牢牢把握先進(jìn)人物先進(jìn)事跡的時(shí)代特征,要求把學(xué)習(xí)與培養(yǎng)社會(huì)主義事業(yè)建設(shè)者和接班人的實(shí)踐結(jié)合起來,切實(shí)以高尚的人格、勤勉的精神、科學(xué)的態(tài)度影響學(xué)生,在各個(gè)教學(xué)環(huán)節(jié)中體現(xiàn)學(xué)高身正的風(fēng)范,起到春風(fēng)化雨的作用。3著眼和諧理念,切實(shí)推進(jìn)師德師風(fēng)建設(shè)3.1要從深入貫徹落實(shí)科學(xué)發(fā)展觀精神,構(gòu)建和諧教育,促進(jìn)消防教育又好又快發(fā)展教師隊(duì)伍是消防部隊(duì)重要戰(zhàn)略資源,師德師風(fēng)建設(shè)是師資隊(duì)伍建設(shè)的核心內(nèi)容。一支師德高尚、業(yè)務(wù)精專的教師隊(duì)伍是實(shí)現(xiàn)提高教育質(zhì)量、培養(yǎng)合格消防指揮生的主要力量。沒有良好的師德師風(fēng),消防教育就難以落實(shí)。師德師風(fēng)建設(shè)也是社會(huì)主義精神文明建設(shè)的重要方面。學(xué)校作為培養(yǎng)人的基地,是社會(huì)主義精神文明建設(shè)的重要窗口,是弘揚(yáng)先進(jìn)文化的前沿,教師職業(yè)道德在全社會(huì)道德體系中處于核心和主干地位。教師首先以自己的道德風(fēng)范直接影響學(xué)生,再通過學(xué)生向部隊(duì)擴(kuò)散,引領(lǐng)部隊(duì)道德風(fēng)尚的進(jìn)步。師德師風(fēng)建設(shè)還是黨風(fēng)廉政建設(shè)及教育行風(fēng)建設(shè)的重要環(huán)節(jié)。教育行風(fēng)事關(guān)教育形象,教師廉潔從教,辛勤勞動(dòng)是良好教育行風(fēng)的具體體現(xiàn),是贏得部隊(duì)贊譽(yù)和支持的關(guān)鍵因素。因此,要從深入貫徹落實(shí)科學(xué)發(fā)展觀精神、構(gòu)建和諧教育的高度,充分認(rèn)識(shí)師德師風(fēng)建設(shè)的重要性和緊迫性,把師德師風(fēng)建設(shè)作為永恒主題,持之以恒,常抓不懈。3.2要把師德師風(fēng)建設(shè)擺上首要位置,構(gòu)建長(zhǎng)效機(jī)制,確保師德師風(fēng)建設(shè)工作取得實(shí)實(shí)在在的成效師德師風(fēng)建設(shè)是學(xué)校整體建設(shè)和管理工作的核心內(nèi)容。消防學(xué)校既需要現(xiàn)代化的辦學(xué)條件,更需要教師群體的良好道德風(fēng)尚和崇高理想追求。學(xué)校管理既是對(duì)物質(zhì)資源的優(yōu)化配置,更是對(duì)精神文化資源的精心培植和弘揚(yáng)。學(xué)校永遠(yuǎn)要把以高尚師德為核心的文化追求作為打造學(xué)校品牌的關(guān)鍵,精心培育,薪火相傳。教師專業(yè)成長(zhǎng)過程中的實(shí)踐性反思,不僅僅是專業(yè)知識(shí)和技能的反思,更是教師德行的內(nèi)省和提升,唯有這樣,教師才能獲得真正的教育智慧,也才能步入職業(yè)幸福的“天堂”。師德師風(fēng)建設(shè)還是深入推行素質(zhì)教育、全面提高教育質(zhì)量的根本保障。學(xué)校要嚴(yán)格按照教育法律法規(guī)的要求,強(qiáng)化動(dòng)力機(jī)制,推進(jìn)機(jī)制創(chuàng)新,優(yōu)化制度環(huán)境,標(biāo)本兼治,不斷建立和完善師德師風(fēng)建設(shè)的各項(xiàng)長(zhǎng)效保障機(jī)制,切實(shí)增強(qiáng)師德師風(fēng)建設(shè)的針對(duì)性和實(shí)效性,確保師德師風(fēng)建設(shè)取得實(shí)實(shí)在在的成效。師德師風(fēng)建設(shè)是一個(gè)長(zhǎng)期的過程,切忌搞形式,走過場(chǎng)。同時(shí),要尊重教師的勞動(dòng),滿腔熱情關(guān)心教師,努力改善教師的工作、學(xué)習(xí)、生活條件,為教師教書育人創(chuàng)造良好環(huán)境。3.3要加強(qiáng)道德實(shí)踐,愛崗敬業(yè),無私奉獻(xiàn),弘揚(yáng)新時(shí)期高尚師德進(jìn)行教師職業(yè)道德建設(shè),打造一支高素質(zhì)的師資隊(duì)伍,是消防教育事業(yè)的需要。師德建設(shè)不僅僅需要外在強(qiáng)制的他律機(jī)制,更需要被教師個(gè)人所認(rèn)同并內(nèi)化為教師個(gè)人的思維、情感、意志,形成內(nèi)部調(diào)控的自律機(jī)制。教師一要進(jìn)一步樹立政治意識(shí)。教育是培育人的事業(yè),因此,要全面貫徹落實(shí)科學(xué)發(fā)展觀,把社會(huì)主義核心價(jià)值體系融入教育全過程,要胸懷祖國,熱愛人民,忠誠于黨和人民的教育事業(yè),要積極引導(dǎo)學(xué)生樹立正確的世界觀、人生觀、價(jià)值觀、榮辱觀,培養(yǎng)素質(zhì)全面的消防事業(yè)可用之才。只有自覺地真正樹立自律意識(shí),進(jìn)行道德實(shí)踐,才能弘揚(yáng)新時(shí)期高尚的師德師風(fēng),才能構(gòu)建消防教育發(fā)展的和諧環(huán)境?!霸~匯是語言的三大要素之一。人類的思維活動(dòng)是借助詞匯進(jìn)行的,人類的思想交流也是通過由詞構(gòu)成句子來實(shí)現(xiàn)的。沒有詞匯,任何語言都是不可想象的。”可見,在語言教學(xué)中,詞匯占有十分重要的地位。然而在實(shí)際教學(xué)中我們不難發(fā)現(xiàn):有相當(dāng)一部分學(xué)生學(xué)習(xí)和掌握詞匯很困難,漸漸地就失去了學(xué)習(xí)英語的興趣和信心。因此,能否巧妙地記憶英語單詞是學(xué)生能否學(xué)好英語的關(guān)鍵。筆者在多年的教學(xué)工作中,通過不斷實(shí)踐,發(fā)現(xiàn)以下幾種方法對(duì)提高學(xué)生英語詞匯的記憶能力是行之有效的。一、掌握拼讀規(guī)則,提高學(xué)生詞匯記憶能力英語是拼音文字,根據(jù)這一特點(diǎn),在教學(xué)中把語音與單詞中的字母有機(jī)地結(jié)合起來,有利于單詞的記憶。1.充分利用漢語拼音與英文輔音字母發(fā)音的相似性來提高記憶能力。漢語拼音與英文字母的發(fā)音有著密切的聯(lián)系,英語中輔音字母b、p、m、f、d、t、n、l、g、k、h、j、z、s、r、w與漢語拼音中聲母的發(fā)音口形基本一致。比如英語單詞red中的r和d與漢語拼音中聲母r和d的發(fā)音口形一致;再比如英語單詞slim、film、smile;keyboard、abroad;model、metal、medal、mental這幾組詞匯,學(xué)生在實(shí)際的拼寫中經(jīng)常出錯(cuò),如果我們能教會(huì)學(xué)生結(jié)合漢語拼音聲母與英文輔音字母發(fā)音間的聯(lián)系,準(zhǔn)確讀準(zhǔn)單詞,就能很容易地區(qū)分和記憶了。2.靈活運(yùn)用字母與字組間的聯(lián)系來提高記憶能力。英語中,字母數(shù)量少(26個(gè)),字組數(shù)量多(73個(gè)),但在同一個(gè)單詞中,字組數(shù)卻少于或等于字母數(shù)。如train一詞,字組數(shù)是三個(gè)tr-ai-n,字母數(shù)是五個(gè)t-r-a-i-n,因此以字組為單位來記憶單詞可以大大減輕學(xué)生的負(fù)擔(dān)。另外,字組能使單詞的“音”與“形”統(tǒng)一起來。如three一詞,我們只要根據(jù)字組th、r、ee,分別對(duì)應(yīng)[θ]、[r]和[i:]音就能看出詞形與讀音之間的對(duì)應(yīng)關(guān)系。因此,利用好字母與字組間的關(guān)系能幫助學(xué)生提高記憶能力。3.掌握重讀開音節(jié)、重讀閉音節(jié),以及一些常見字組的發(fā)音,有利于英語詞匯的記憶。在重讀開音節(jié)中,元音字母發(fā)字母音,如grape、cake、kite、note中的元音a、i、o就發(fā)字母音;在重讀閉音節(jié)中,元音字母發(fā)短音,如big、fat、not、put、sit中的元音i、a、o、u就發(fā)短音。掌握此規(guī)律能讓學(xué)生輕而易舉地記住很多符合此規(guī)律的單詞,從而有助于詞匯量的增加。掌握一些常見字組的發(fā)音,比如ay常發(fā)/ei/,ea常發(fā)/i:/、/ei/或/e/等音。若在ay前加上輔音字母d、p、m、w、s、pl就可組成day、pay、may、way、say、play等不同的單詞,這有利于詞匯量的不斷增加。此外,像ea、oy/oi、ee等組合都可以如法炮制。多音節(jié)單詞如population、experiment、laboratory、environment、humorous、expensive等很難記憶,如果教會(huì)學(xué)生按照此規(guī)律拼讀單詞,以掌握這些詞匯,學(xué)生不僅能很快地記住,并且還不容易遺忘。如果學(xué)生掌握了上述拼讀規(guī)則,就不必死記硬背,可以節(jié)省更多的時(shí)間和精力,并且效果會(huì)更加明顯和持久。這不僅培養(yǎng)了學(xué)生的興趣,使其樹立了信心,獲得了成就感,也提高了詞匯記憶能力。二、正確運(yùn)用構(gòu)詞法,增強(qiáng)學(xué)生詞匯記憶能力英語詞匯數(shù)量巨大,沒有一定的方法很難記住和運(yùn)用。如果掌握了英語詞匯的構(gòu)詞方法,就能夠起到事半功倍的效果。初中階段接觸到的構(gòu)詞法主要包括轉(zhuǎn)化法、派生法、合成法、截短法、混合法、首尾字母縮短法等,其中派生法是最基本也是最實(shí)用的方法。在詞根前面加前綴或在詞根后面加后綴構(gòu)成一個(gè)與原單詞意義相近或截然相反的新詞叫作派生法。“詞根、前綴、后綴是構(gòu)成單詞的三個(gè)元素,在構(gòu)詞法上叫詞素,詞根是主要元素,前后綴為次要元素?!比呤怯洃浽~匯和擴(kuò)大詞匯量的三把鑰匙。這三把鑰匙又是開啟構(gòu)詞法大門的法寶。一旦引導(dǎo)學(xué)生掌握了這種方法,可以達(dá)到事半功倍的效果。1.前綴:一般改變單詞的意義,不改變?cè)~性。我們初中階段主要學(xué)習(xí)了表示否定意義的前綴dis-,im-,in-,ir-,un-等。例如:appear出現(xiàn)→disappear消失,possible可能的→impossible不可能的,correct正確的→incorrect不正確的regular規(guī)則的→irregular不規(guī)則的,important重要的→unimportant不重要的,等等。2.后綴:通常會(huì)改變單詞的詞性,構(gòu)成意義相近的其他詞性;少數(shù)后綴還會(huì)改變?cè)~義,變?yōu)榕c原來詞義相反的新詞。在初中階段,我們主要掌握了如下這些后綴。(1)構(gòu)成名詞的后綴主要有-(e)r/-or(從事某事的人),-ment(行為,狀態(tài),過程,手段及其結(jié)果),-ness(性質(zhì);狀態(tài)),-tion(動(dòng)作;過程)等。例如:write寫→writer作家,agree同意→agreement協(xié)議,happy高興的→happiness幸福,operate做手術(shù)→operation手術(shù),等等。(2)構(gòu)成形容詞的后綴有-al(屬性,相關(guān)的),-able(有能力的),-(a)n(某國人的),-ese(某國人的),-en(多用于表示材料的名詞后),-ern(方向的),-ful/-ous(充分的),-less(表示否定),-y(表示天?猓┑?。?如:nature自然→natural自然的,fashion時(shí)尚→fashionable流行的,America美國→American美國的,China中國→Chinese中國人的,gold金子→golden金的,help幫助→helpful樂于助人的,danger危險(xiǎn)→dangerous危險(xiǎn)的,south南→southern南方的,wind風(fēng)→windy有風(fēng)的,等等。(3)構(gòu)成副詞的常用后綴-ly(主要用于形容詞之后表示方式或程度),-ward(s)(主要用于表示方位的詞之后表示方向)。例如:angry生氣的→angrily生氣地,to到→towards朝……,向……,等等。(4)構(gòu)成數(shù)詞的后綴有-teen(十幾),-ty(幾十),-th(構(gòu)成序數(shù)詞)。例如:six六→sixteen十六→sixteenth第十六,four四→forty四十→fortieth第四十,等等。三、激發(fā)學(xué)習(xí)興趣,提升學(xué)生詞匯記憶能力愛因斯坦說過:“興趣是最好的老師?!笨鬃右苍缇驼f過:“知之者不如好之者,好之者不如樂之者?!迸d趣作為一種個(gè)性心理特征,能促使人們進(jìn)行認(rèn)知,也能促使學(xué)生主動(dòng)學(xué)習(xí)、積極思維、勇于探索。充分利用學(xué)生對(duì)事物所具有的好奇心,其注意力越集中,那么觀察就越細(xì)致,記憶就越深刻,想象就越豐富。英國著名語言學(xué)家C.E.??怂估f:“教英語的最好方法就是能引起學(xué)生學(xué)習(xí)英語興趣的那種方法?!币虼耍谄綍r(shí)的教學(xué)中可以變換使用如下一些記憶方法。1.依靠聯(lián)想提升記憶。著名生理學(xué)家巴甫洛夫指出:“記憶要依靠聯(lián)想,而聯(lián)想則是新舊知識(shí)建立聯(lián)系的產(chǎn)物?!甭?lián)想是記憶的基礎(chǔ)。例如,在教學(xué)“marriage(婚姻)”一詞時(shí),學(xué)生在拼寫中,常常會(huì)漏寫“i”,于是筆者就讓學(xué)生聯(lián)想到“人要到一定年齡才能結(jié)婚”,因此這個(gè)單詞是由“marry(結(jié)婚)”與“age(年齡)”組成,這個(gè)“i”是marry去“y”而來的;同樣,在教學(xué)“teenager(青少年)”時(shí),聯(lián)想到十幾歲的孩子就是青少年,因此該單詞由“teen十幾(歲)”加“age(年齡)”再加表示人或職業(yè)的后綴“er”組成,這就很容易掌握了。2.運(yùn)用形象思維提高記憶。比如“sense”中n代表鼻子,兩個(gè)se就像鼻子兩邊的眼睛;再如“rabbit”中b、b像兔子的兩只長(zhǎng)耳朵。3.營造語境加強(qiáng)記憶。學(xué)生通過親身實(shí)踐獲得的知識(shí)印象最深刻,也最不容易忘記。所以,在英語詞匯教學(xué)中,我們可以創(chuàng)設(shè)一定的教學(xué)情境,讓學(xué)生有一種身臨其境的感覺,真情實(shí)感油然而生,從而達(dá)到有效復(fù)習(xí)詞匯并鞏固詞匯的目的。例如教授medicine這個(gè)詞時(shí),教師可口頭描述一段話:Ifyoucatchacoldtoday,youmaygotoseeadoctor,andhewillgiveyousomemedicineandaskyoutotakethemedicine.Afteryoutakethemedicineyouwillfeelbettersoon.在這段話中生詞medicine在不同的句子中重復(fù)使用了3次。在語境中,通過老師的導(dǎo)入、領(lǐng)讀、抽讀后,學(xué)生掌握了生詞的讀音,明白了這個(gè)生詞的含義,并且觀察到medicine為不可數(shù)名詞,同時(shí)還學(xué)到了“給藥”“吃藥”這兩個(gè)詞?M。圍繞medicine一詞進(jìn)行的話語練習(xí),使學(xué)生記憶非常深刻。4.開展游戲鞏固記憶。把游戲引入課堂,使教學(xué)形式多樣化,有利于培養(yǎng)中學(xué)生學(xué)習(xí)英語的興趣,提高學(xué)習(xí)效率和教學(xué)效果。在中學(xué)英語詞匯教學(xué)中,經(jīng)常采用的游戲形式有:歌曲、繞口令、成語、諺語、謎語、故事接龍、情景表演、競(jìng)賽等。例如,在教完詞匯bridge之后,讓學(xué)生猜謎語:Whatistheshortestbridgeintheworld?學(xué)生們積極參與,大膽猜測(cè),活躍了課堂氛圍。(Thebridgeonyournose./Nosebridge.)在游戲中學(xué)習(xí),能激發(fā)學(xué)生的學(xué)習(xí)興趣,活躍課堂氣氛,防止疲勞和厭煩情緒,從而讓學(xué)生在輕松愉快的氛圍中更好地理解和掌握所學(xué)內(nèi)容。當(dāng)然,記憶方法多種多樣,教師在教學(xué)過程中要根據(jù)學(xué)生和教學(xué)的實(shí)際情況,選用合適的記憶方法,并在實(shí)踐中不斷調(diào)整,如此才能起到事半功倍的效果。圖形圖像與多媒體編程圖形圖像與多媒體編程圖形圖像與多媒體編程第十四章圖形圖像與多媒體編程

14.1GDI+概述14.2繪制圖形14.3圖像的顯示與保存14.4動(dòng)畫設(shè)計(jì)14.5Web應(yīng)用程序中的圖形圖像操作14.6音頻與視頻播放第十四章圖形圖像與多媒體編程14.1GDI+概述圖形圖像與多媒體編程課件圖形圖像與多媒體編程課件圖形圖像與多媒體編程課件圖形圖像與多媒體編程課件14.1.2顏色

顏色是進(jìn)行圖形操作的基本要素。任何一種顏色都可以由四個(gè)分量決定,每個(gè)分量占據(jù)一個(gè)字節(jié):R:紅色,取值范圍0~255,255為飽和紅色。G:綠色,取值范圍0~255,255為飽和綠色。B:藍(lán)色,取值范圍0~255,255為飽和藍(lán)色。A:Alpha值,即透明度。取值范圍0~255,0為完全透明,255為完全不透明。在System.Drawing名稱空間下,有一個(gè)Color結(jié)構(gòu)類型,可以使用下列方法創(chuàng)建顏色對(duì)象:⑴使用FromArgb指定任意顏色這個(gè)方法有兩種常用的形式,第一種形式是直接指定三種顏色,方法原型為:14.1.2顏色顏色是進(jìn)行圖形操作的基本要素。

publicstaticColorFromArgb(intred,intgreen,intblue)三個(gè)參數(shù)分別表示R、G、B三色,Alpha值使用缺省值255,即完全不透明。例如: Colorred=Color.FromArgb(255,0,0); Colorgreen=Color.FromArgb(0,255,0); Colorblue=Color.FromArgb(0,0,0xff);

其中,0xff為十六進(jìn)制表示形式。

第二種形式使用四個(gè)參數(shù),格式為:publicstaticColorFromArgb(intalpha,intred,intgreen,intblue)四個(gè)參數(shù)分別表示透明度和R、G、B三色值。publicstaticColorFromArgb

⑵使用系統(tǒng)預(yù)定義顏色在Color結(jié)構(gòu)中已經(jīng)預(yù)定義了141種顏色,可以直接使用,例如:ColormyColor;myColor=Color.Red;myColor=Color.Aquamarine;myColor=Color.LightGoldenrodYellow;

⑵使用系統(tǒng)預(yù)定義顏色14.1.3筆和畫筆

在GDI+中,可使用筆對(duì)象和畫筆對(duì)象呈現(xiàn)圖形、文本和圖像。筆是Pen類的實(shí)例,用于繪制線條和空心形狀。畫筆是從Brush類派生的任何類的實(shí)例,用于填充形狀或繪制文本。

1.筆(Pen)

筆可用于繪制繪制具有指定寬度和樣式的線條、曲線以及勾勒形狀輪廓。下面的示例說明如何創(chuàng)建一支基本的黑色筆:

PenmyPen=newPen(Color.Black);PenmyPen=newPen(Color.Black,5);

也可以從畫筆對(duì)象創(chuàng)建筆,例如:

SolidBrushmyBrush=newSolidBrush(Color.Red);PenmyPen=newPen(myBrush);PenmyPen=newPen(myBrush,5);

14.1.3筆和畫筆在GDI+中,可使用筆筆(Pen)的用法演示示例。

1)新建一個(gè)Windows應(yīng)用程序,適當(dāng)加寬窗體寬度。然后切換到代碼方式,添加名稱空間引用:usingSystem.Drawing.Drawing2D;

2)添加Form1_Paint事件代碼。

privatevoidForm1_Paint(objectsender,System.Windows.Forms.PaintEventArgse){ Graphicsg=e.Graphics; Penpen=newPen(Color.Blue,10.5f); g.DrawString("藍(lán)色,寬度為10.5",this.Font,newSolidBrush(Color.Black),5,5); g.DrawLine(pen,newPoint(110,10),newPoint(380,10)); pen.Width=2;pen.Color=Color.Red; g.DrawString("紅色,寬度為2",this.Font,newSolidBrush(Color.Black),5,25);筆(Pen)的用法演示示例。

g.DrawLine(pen,newPoint(110,30),newPoint(380,30)); pen.StartCap=LineCap.Flat; pen.EndCap=LineCap.ArrowAnchor; pen.Width=9; g.DrawString("紅色箭頭線",this.Font,newSolidBrush(Color.Black),5,45); g.DrawLine(pen,newPoint(110,50),newPoint(380,50)); pen.DashStyle=DashStyle.Custom; pen.DashPattern=newfloat[]{4,4}; pen.Width=2;pen.EndCap=LineCap.NoAnchor; g.DrawString("自定義虛線",this.Font,newSolidBrush(Color.Black),5,65); g.DrawLine(pen,newPoint(110,40),newPoint(380,70)); pen.DashStyle=DashStyle.Dot; g.DrawString("點(diǎn)劃線",this.Font,newSolidBrush(Color.Black),5,85); g.DrawLine(pen,newPoint(110,90),newPoint(380,90)); } g.DrawLine(pen,newPoint(110運(yùn)行結(jié)果

運(yùn)行結(jié)果2、畫刷(Brush)畫刷是可與Graphics對(duì)象一起使用來創(chuàng)建實(shí)心形狀和呈現(xiàn)文本的對(duì)象。可以用畫筆填充各種圖形形狀,如矩形、橢圓、扇形、多邊形和封閉路徑等。幾種不同類型的畫刷:

SolidBrush畫刷最簡(jiǎn)單的形式,用純色進(jìn)行繪制。

HatchBrush類似于SolidBrush,但是可以利用該類從大量預(yù)設(shè)的圖案中選擇繪制時(shí)要使用的圖案,而不是純色。

TextureBrush使用紋理(如圖像)進(jìn)行繪制。

LinearGradientBrush使用沿漸變混合的兩種顏色進(jìn)行繪制。

PathGradientBrush

基于編程者定義的唯一路徑,使用復(fù)雜的混合色漸變進(jìn)行繪制。2、畫刷(Brush)(1)使用SolidBrush類定義單色畫筆SolidBrush類用于定義單色畫筆。該類只有一個(gè)構(gòu)造函數(shù),帶有一個(gè)Color類型的參數(shù)。下面的示例說明如何在窗體上繪制一個(gè)純紅色的橢圓。該橢圓將符合為其提供的矩形的大?。ù死袨楸硎菊麄€(gè)窗體的ClientRectangle)?!纠繂紊嬎⒀菔臼纠? privatevoidForm1_Paint(objectsender,System.Windows.Forms.PaintEventArgse) { Graphicsg=e.Graphics; SolidBrushmyBrush=newSolidBrush(Color.Red); g.FillEllipse(myBrush,this.ClientRectangle); }

(1)使用SolidBrush類定義單色畫筆運(yùn)行效果運(yùn)行效果(2)使用HatchBrush類繪制簡(jiǎn)單圖案HatchBrush類用于從大量預(yù)設(shè)的圖案中選擇繪制時(shí)要使用的圖案,而不是純色。下面的示例說明如何創(chuàng)建一個(gè)HatchBrush,它使用90%的陰影,前景色與背景色的比例為90:100,并使用白色作為前景色,黑色作為背景色。【例】填充簡(jiǎn)單圖案示例。

private

voidForm1_Paint(objectsender,System.Windows.Forms.PaintEventArgse){ Graphicsg=e.Graphics; System.Drawing.Drawing2D.HatchBrushaHatchBrush=new

System.Drawing.Drawing2D.HatchBrush(System.Drawing. Drawing2D.HatchStyle.Percent90,Color.White,Color.Black); g.FillEllipse(aHatchBrush,this.ClientRectangle);}

(2)使用HatchBrush類繪制簡(jiǎn)單圖案運(yùn)行效果:運(yùn)行效果:(3)使用TextureBrush類繪制復(fù)雜圖案TextureBrush類允許使用一幅圖像作為填充的樣式。該類提供了5個(gè)重載的構(gòu)造函數(shù),分別是:PublicTextureBrush(Image)PublicTextureBrush(Image,Rectangle)PublicTextureBrush(Image,WrapMode)PublicTextureBrush(Image,Rectangle,ImageAttributes)PublicTextureBrush(Image,WrapMode,Rectangle)其中:Image:Image對(duì)象用于指定畫筆的填充圖案。Rectangle:Rectangle對(duì)象用于指定圖像上用于畫筆的矩形區(qū)域,其位置不能超越圖像的范圍。WrapMode:WrapMode枚舉成員用于指定如何排布圖像,可以是

Clamp完全由繪制對(duì)象的邊框決定

Tile平鋪TileFlipX水平方向翻轉(zhuǎn)并平鋪圖像TileFlipY垂直方向翻轉(zhuǎn)并平鋪圖像TileFlipXY水平和垂直方向翻轉(zhuǎn)并平鋪圖像(3)使用TextureBrush類繪制復(fù)雜圖案ImageAttributes:ImageAttributes對(duì)象用于指定圖像的附加特性參數(shù)。TextureBrush類有三個(gè)屬性:

Image:Image類型,與畫筆關(guān)聯(lián)的圖像對(duì)象。

Transform:Matrix類型,畫筆的變換矩陣。

WrapMode:WrapMode枚舉成員,指定圖像的排布方式。

下面的示例說明了如何創(chuàng)建一個(gè)TextureBrush,例子使用名為m23.jpg的圖像進(jìn)行繪制。

【例】創(chuàng)建TextureBrush示例。private

voidForm1_Paint(objectsender,System.Windows.Forms.PaintEventArgse){ Graphicsg=e.Graphics; TextureBrushmyBrush=newTextureBrush(newBitmap("e:\test\m23.jpg")); g.FillEllipse(myBrush,this.ClientRectangle);}

ImageAttributes:ImageAttri運(yùn)行效果:運(yùn)行效果:(4)使用LinearGradientBrush類定義線性漸變這個(gè)類用于定義線性漸變畫筆,可以是雙色漸變,也可以是多色漸變。缺省情況下,漸變由起始顏色沿著水平方向平均過渡到終止顏色。要定義多色漸變,需要使用InterpolationColors屬性。下面的示例說明如何由白色漸變到藍(lán)色?!纠烤€性漸變示例。

private

voidForm1_Paint(objectsender,System.Windows.Forms.PaintEventArgse){ Graphicsg=e.Graphics; System.Drawing.Drawing2D.LinearGradientBrushmyBrush=newSystem.Drawing.Drawing2D.LinearGradientBrush(

this.ClientRectangle,Color.White,Color.Blue,System.Drawing.Drawing2D.LinearGradientMode.Vertical);g.FillRectangle(myBrush,this.ClientRectangle);}(4)使用LinearGradientBrush類定義線性漸如果創(chuàng)建應(yīng)用程序后向設(shè)計(jì)窗體上拖放一些控件,可以看到運(yùn)行后該圖就是一個(gè)漂亮的背景了。

如果創(chuàng)建應(yīng)用程序后向設(shè)計(jì)窗體上拖放一些控件,可以看到運(yùn)行(5)使用PathGradientBrush類實(shí)現(xiàn)彩色漸變?cè)贕DI+中,把一個(gè)或多個(gè)圖形組成的形體稱作路徑??梢允褂肎raphicsPath類定義路徑,使用PathGradientBrush類定義路徑內(nèi)部的漸變色畫筆。漸變色從路徑內(nèi)部的中心點(diǎn)逐漸過渡到路徑的外邊界邊緣。PathGradientBrush類有三種形式的構(gòu)造函數(shù),形式之一是:publicPathGradientBrush(GraphicsPathpath)其中,GraphicsPath定義畫筆填充的區(qū)域?!纠柯窂胶吐窂疆嫻P的使用。

usingSystem.Drawing.Drawing2D;……

(5)使用PathGradientBrush類實(shí)現(xiàn)彩色漸變privatevoidForm1_Paint(objectsender,System.Windows.Forms.PaintEventArgse){ Graphicsg=e.Graphics; PointcenterPoint=newPoint(150,100); intR=60;GraphicsPathpath=newGraphicsPath(); path.AddEllipse(centerPoint.X-R,centerPoint.Y-R,2*R,2*R); PathGradientBrushbrush=newPathGradientBrush(path);//指定路徑中心點(diǎn) brush.CenterPoint=centerPoint;

//指定路徑中心點(diǎn)的顏色 brush.CenterColor=Color.Red;

//Color類型的數(shù)組指定與路徑上每個(gè)頂點(diǎn)對(duì)應(yīng)的顏色 brush.SurroundColors=newColor[]{Color.Plum};privatevoidForm1_Paint(objec

g.FillEllipse(brush,centerPoint.X-R,centerPoint.Y-R,2*R,2*R); centerPoint=newPoint(350,100);R=20; path=newGraphicsPath(); path.AddEllipse(centerPoint.X-R,centerPoint.Y-R,2*R,2*R); path.AddEllipse(centerPoint.X-2*R,centerPoint.Y-2*R,4*R,4*R); path.AddEllipse(centerPoint.X-3*R,centerPoint.Y-3*R,6*R,6*R);brush=newPathGradientBrush(path); brush.CenterPoint=centerPoint; brush.CenterColor=Color.Red; brush.SurroundColors=newColor[]{Color.Black,Color.Blue,Color.Green}; g.FillPath(brush,path);}

在這個(gè)例子中,可以看到當(dāng)使用FillPath()方法填充路徑的時(shí)候,如果多個(gè)圖形互相重疊,則重疊部分的數(shù)目為偶數(shù)時(shí)不會(huì)被填充,因此右圖中間部分仍為背景色而不是藍(lán)色。

在這個(gè)例子中,可以看到當(dāng)使用FillPath(14.1.4平移、旋轉(zhuǎn)與縮放

Graphics類提供了三種對(duì)圖像進(jìn)行幾何變換的方法,它們是TranslateTransform()方法、RotateTransform()方法和ScaleTransform()方法,分別用于圖形圖像的平移、旋轉(zhuǎn)和縮放。

TranslateTransform()方法的形式為:publicvoidTranslateTransform(floatdx,floatdy)

其中,dx表示平移的x分量,dy表示平移的y分量。

RotateTransform()方法的形式為:publicvoidRotateTransform(floatangle)其中,angle表示旋轉(zhuǎn)角度。

ScaleTransform()方法的形式為:publicvoidScaleTransform(floatsx,floatsy)其中,sx表示x方向的縮放比例,sy表示y方向的縮放比例。

14.1.4平移、旋轉(zhuǎn)與縮放Graphic【例】三種變換方法示例。

private

voidForm1_Paint(objectsender,System.Windows.Forms.PaintEventArgse){ Graphicsg=e.Graphics;

//橢圓透明度80% g.FillEllipse(newSolidBrush(Color.FromArgb(80,Color.Red)),120,30,200,100); g.RotateTransform(30.0f);//順時(shí)針旋轉(zhuǎn)10度 g.FillEllipse(newSolidBrush(Color.FromArgb(80,Color.Blue)), 120,30,200,100);

//水平方向向右平移200個(gè)像素,垂直方向向上平移100個(gè)像素 g.TranslateTransform(200.0f,-100.0f); g.FillEllipse(newSolidBrush(Color.FromArgb(50,Color.Green)),120,30,200,100); g.ScaleTransform(0.5f,0.5f);//縮小到一半

g.FillEllipse(new SolidBrush(Color.FromArgb(100,Color.Red)),120,30,200,100);}

【例】三種變換方法示例。圖形圖像與多媒體編程課件14.2繪制圖形

所有繪制圖形的方法都位于Graphics中。14.2.1直線

有兩種繪制直線的方法:DrawLine()方法和DrawLines()方法。DrawLine()用于繪制一條直線,DrawLines()用于繪制多條直線。常用形式有:⑴publicvoidDrawLine(Penpen,Pointpt1,Pointpt2)其中Pen對(duì)象確定線條的顏色、寬度和樣式。Point結(jié)構(gòu)確定起點(diǎn)和終點(diǎn)。例如:

private

voidForm1_Paint(objectsender,System.Windows.Forms.PaintEventArgse){ Graphicsg=e.Graphics; PenblackPen=newPen(Color.Black,3); Pointpoint1=newPoint(100,100); Pointpoint2=newPoint(200,100); e.Graphics.DrawLine(blackPen,point1,point2);}

14.2繪制圖形所有繪制圖形的方法都位于Gr⑵publicvoidDrawLine(Penpen,intx1,inty1,intx2,inty2)其中x1,y1為起點(diǎn)坐標(biāo),x2,y2為終點(diǎn)坐標(biāo)。例如: e.Graphics.DrawLine(blackPen,100,100,200,100);⑶publicvoidDrawLines(Penpen,Point[]points)這種方法用于繪制一系列連接一組終結(jié)點(diǎn)的線條。數(shù)組中的前兩個(gè)點(diǎn)指定第一條線。每個(gè)附加點(diǎn)指定一個(gè)線段的終結(jié)點(diǎn),該線段的起始點(diǎn)是前一條線段的結(jié)束點(diǎn)。

private

voidForm1_Paint(objectsender,System.Windows.Forms.PaintEventArgse) { Graphicsg=e.Graphics; Penpen=newPen(Color.Black,3); Point[]points=

newPoint(10,10),

newPoint(10,100),

newPoint(200,50),

newPoint(250,120) }; e.Graphics.DrawLines(pen,points);}

⑵publicvoidDrawLine(Penpen效果

效果14.2.2矩形

由于矩形具有輪廓和封閉區(qū)域,所以C#提供了兩類繪制矩形的方法,一類用于繪制矩形的輪廓,另一類用于填充矩形的封閉區(qū)域。使用DrawRectangle()或DrawRectangles()方法繪制矩形輪廓的常用形式有:⑴publicvoidDrawRectangle(Penpen,Rectanglerect)其中rect表示要繪制的矩形的Rectangle結(jié)構(gòu)?!纠坷L制矩形輪廓示例。private

voidForm1_Paint(objectsender,System.Windows.Forms.PaintEventArgse){ Graphicsg=e.Graphics; Penpen=newPen(Color.Black,3); Rectanglerect=newRectangle(30,30,200,100); e.Graphics.DrawRectangle(pen,rect);}

14.2.2矩形⑵

publicvoidDrawRectangle(Penpen,intx,inty,intwidth,intheight)其中x,y為矩形左上角坐標(biāo)值。例如:e.Graphics.DrawRectangle(pen,20,20,200,100);⑶

publicvoidDrawRectangles(Penpen,Rectangle[]rects)該方法用于繪制多個(gè)矩形。【例】使用DrawRectangles方法繪制矩形輪廓示例。private

voidForm1_Paint(objectsender,System.Windows.Forms.PaintEventArgse){ Graphicsg=e.Graphics; Penpen=newPen(Color.Black,3); Rectangle[]rects={

newRectangle(0,0,100,200),

newRectangle(100,200,250,50),

newRectangle(300,0,50,100) }; e.Graphics.DrawRectangles(pen,rects);}

⑵publicvoidDrawRectangle(Pe圖形圖像與多媒體編程課件14.2.3多邊形由于多邊形也是封閉的,所以C#中也有兩種繪制方法:使用DrawPolygon()方法繪制多邊形輪廓,使用FillPolygon()方法填充多邊形的封閉區(qū)域。下面的例子說明了這些方法的使用形式?!纠坷L制多邊形示例。private

voidForm1_Paint(objectsender,System.Windows.Forms.PaintEventArgse){ Graphicsg=e.Graphics; Penpen=newPen(Color.Red); Point[]points= {newPoint(50,50),newPoint(100,100),

newPoint(45,150),newPoint(25,150),newPoint(0,100) }; e.Graphics.DrawPolygon(pen,points); points=newPoint[] {newPoint(250,50),newPoint(300,100),newPoint(275,150),

newPoint(225,150),newPoint(200,100) }; g.FillPolygon(newSolidBrush(Color.Red),points);}

14.2.3多邊形圖形圖像與多媒體編程課件14.2.4曲線

這里所講的曲線是指自定義曲線,自定義曲線有兩種形式:打開的曲線和封閉的曲線。

在Graphics類中,繪制自定義曲線的方法有:

DrawCurve()方法

DrawClosedCurve()方法以及應(yīng)用廣泛的繪制貝塞爾曲線的

DrawBezier()方法

DrawBeziers()方法。

14.2.4曲線1、DrawCurve()方法這個(gè)方法用光滑的曲線把給定的點(diǎn)連接起來,常用形式有:

publicvoidDrawCurve(Penpen,Point[]points)其中,Point結(jié)構(gòu)類型的數(shù)組中指明各節(jié)點(diǎn),默認(rèn)彎曲強(qiáng)度為0.5,注意數(shù)組中至少要有4個(gè)元素。

publicvoidDrawCurve(Penpen,Point[]points,floattension)其中tension指定彎曲強(qiáng)度,該值范圍為0.0f~1.0f,超出此范圍會(huì)產(chǎn)生異常,當(dāng)彎曲強(qiáng)度為零時(shí),就是直線。

1、DrawCurve()方法【例】繪制直線與平滑曲線。private

voidForm1_Paint(objectsender,System.Windows.Forms.PaintEventArgse){ PenredPen=newPen(Color.Red,3); PengreenPen=newPen(Color.Green,3); Point[]curvePoints= {

newPoint(50,250),

newPoint(100,25),

newPoint(200,250),

newPoint(250,50),

newPoint(300,75),

newPoint(350,200),

newPoint(400,150) }; e.Graphics.DrawLines(redPen,curvePoints); e.Graphics.DrawCurve(greenPen,curvePoints);}

【例】繪制直線與平滑曲線。圖形圖像與多媒體編程課件2、DrawClosedCurve()方法

這個(gè)方法也是用平滑的曲線將各節(jié)點(diǎn)連接起來,但會(huì)自動(dòng)把首尾節(jié)點(diǎn)連接起來構(gòu)成封閉曲線。3、貝塞爾曲線每段貝塞爾曲線都需要四個(gè)點(diǎn),第一個(gè)點(diǎn)是起始點(diǎn),第四個(gè)點(diǎn)是終止點(diǎn),第二個(gè)點(diǎn)和第三個(gè)點(diǎn)控制曲線的形狀。使用DrawBezier()方法繪制一段貝塞爾曲線,使用DrawBeziers()方法繪制多段貝塞爾曲線。常用形式有:

publicvoidDrawBezier(Penpen,Pointpt1,Pointpt2,Pointpt3,Pointpt4)其中pt1、pt2、pt3、pt4分別指定四個(gè)點(diǎn)。

publicvoidDrawBezier(Penpen,Point[]points)其中points是Point結(jié)構(gòu)的數(shù)組,第一段貝塞爾曲線從點(diǎn)數(shù)組中的第一個(gè)點(diǎn)到第四個(gè)點(diǎn)繪制而成。以后每段曲線只需要三個(gè)點(diǎn):兩個(gè)控制點(diǎn)和一個(gè)結(jié)束點(diǎn)。前一段曲線的結(jié)束點(diǎn)會(huì)自動(dòng)用作后一段曲線的起始點(diǎn)。

2、DrawClosedCurve()方法【例】繪制貝塞爾曲線。private

voidForm1_Paint(objectsender,System.Windows.Forms.PaintEventArgse) { PenblackPen=newPen(Color.Black,3); Point[]bezierPoints= { newPoint(50,100),

newPoint(100,10),

newPoint(150,290),

newPoint(200,100),

newPoint(250,10),

newPoint(300,290),

newPoint(350,100) }; e.Graphics.DrawBeziers(blackPen,bezierPoints); }

【例】繪制貝塞爾曲線。圖形圖像與多媒體編程課件14.2.5橢圓橢圓是一種特殊的封閉曲線,Graphics類專門提供了繪制橢圓的兩種方法:DrawEllipse()方法和FillEllipse()方法。常用形式有:

publicvoidDrawEllipse(Penpen,Rectanglerect)其中rect為Rectangle結(jié)構(gòu),用于確定橢圓的邊界。publicvoidDrawEllipse(Penpen,intx,inty,intwidth,intheight)其中x,y為橢圓左上角的坐標(biāo),width定義橢圓的邊框的寬度,height定義橢圓的邊框的高度。

publicvoidFillEllipse(Penpen,Rectanglerect)填充橢圓的內(nèi)部區(qū)域。其中rect為Rectangle結(jié)構(gòu),用于確定橢圓的邊界。publicvoidFillEllipse(Penpen,intx,inty,intwidth,intheight)填充橢圓的內(nèi)部區(qū)域。其中x,y為橢圓左上角的坐標(biāo),width定義橢圓的邊框的寬度,height定義橢圓的邊框的高度。

14.2.5橢圓橢圓是一種特殊的封閉曲線,G14.3圖像的顯示與保存

14.3.1顯示圖像

可以使用GDI+顯示以文件形式存在的圖像。圖像文件可以是BMP、JPEG、GIF、TIFF、PNG等。實(shí)現(xiàn)步驟為:

創(chuàng)建一個(gè)Bitmap對(duì)象,指明要顯示的圖像文件;

創(chuàng)建一個(gè)Graphics對(duì)象,表示要使用的繪圖平面;

調(diào)用Graphics對(duì)象的DrawImage方法顯示圖像。

創(chuàng)建Bitmap對(duì)象Bitmap類有很多重載的構(gòu)造函數(shù),其中之一是:PublicBitmap(stringfilename)可以利用該構(gòu)造函數(shù)創(chuàng)建Bitmap對(duì)象,例如:Bitmapbitmap=newBitmap(“tu1.jpg”);

14.3圖像的顯示與保存14.3.1顯示圖像⑵DrawImage()方法Graphics類的DrawImage()方法用于在指定位置顯示原始圖像或者縮放后的圖像。該方法的重載形式非常多,其中之一為:publicvoidDrawImage(Imageimage,intx,inty,intwidth,intheight)該方法在x,y按指定的大小顯示圖像。利用這個(gè)方法可以直接顯示縮放后的圖像。

【例】假設(shè)窗體中有一個(gè)Button按鈕button1,可以在單擊按鈕的事件代碼中顯示圖像。private

voidbutton1_Click(objectsender,System.EventArgse){ Bitmapbitmap=newBitmap("d:\test\tu1.jpg"); Graphicsg=this.CreateGraphics(); g.DrawImage(bitmap,3,10,200,200); g.DrawImage(bitmap,250,10,50,50); g.DrawImage(bitmap,350,10,bitmap.Width/2,bitmap.Height/2);}⑵DrawImage()方法圖形圖像與多媒體編程課件14.3.2保存圖像

使用畫圖功能在窗體上繪制出圖形或者圖像后,可以以多種格式保存到圖像文件中.下面的例子說明了具體的用法?!纠繉⒗L制的圖形或圖像保存到文件中。⑴

創(chuàng)建一個(gè)Windows應(yīng)用程序,設(shè)計(jì)畫面:

14.3.2保存圖像⑵

添加名稱空間引用usingSystem.Drawing.Drawing2D;⑶

添加【畫圖】按鈕的Click事件代碼private

voidbutton1_Click(objectsender,System.EventArgse){ Graphicsg=this.CreateGraphics(); DrawMyImage(g); }⑷

添加調(diào)用的方法private

voidDrawMyImage(Graphicsg){ Rectanglerect1=newRectangle(0,0,this.Width/4,this.Height-100); HatchBrushhatchBrush=newHatchBrush(HatchStyle.Shingle,Color.White,Color.Black); g.FillEllipse(hatchBrush,rect1); Rectanglerect2=newRectangle(this.Width/4+50,0,

this.Width/4,this.Height-100);⑵添加名稱空間引用 hatchBrush=newHatchBrush(HatchStyle.WideUpwardDiagonal,Color.White,Color.Red); g.FillRectangle(hatchBrush,rect2);

intx=this.Width-50-this.Width/4; Point[]points=newPoint[] {newPoint(x,10),

newPoint(x+50,60),

newPoint(x+150,10),

newPoint(x+200,160),

newPoint(x+150,260),

newPoint(x+50,260),

newPoint(x,160)}; hatchBrush=newHatchBrush(HatchStyle.SmallConfetti,Color.White,Color.Red); TextureBrushmyBrush=newTextureBrush(newBitmap("e:\test\m23.jpg")); g.FillClosedCurve(myBrush,points); } hatchBrush=newHatchBrush(H⑸

添加【保存】按鈕的Click事件代碼private

voidbutton2_Click(objectsender,System.EventArgse){

//構(gòu)造一個(gè)指定區(qū)域的空?qǐng)D像 Bitmapimage=newBitmap(this.Width,this.Height-100);

//根據(jù)指定區(qū)域得到Graphics對(duì)象 Graphicsg=Graphics.FromImage(image);

//設(shè)置圖像的背景色 g.Clear(this.BackColor);

//將圖形畫到Graphics對(duì)象中 DrawMyImage(g);

try {

//保存畫到Graphics對(duì)象中的圖形 image.Save("d:\test\tu1.jpg",System.Drawing.Imaging.ImageFormat.Jpeg);⑸添加【保存】按鈕的Click事件代碼 g=this.CreateGraphics(); Rectanglerect=newRectangle(0,0,this.Width,this.Height-100); g.FillRectangle(newSolidBrush(this.BackColor),rect); MessageBox.Show("保存成功!","恭喜");}

catch(Exceptionerr){ MessageBox.Show(err.Message); }}

⑹添加【顯示】按鈕的Click事件代碼private

voidbutton3_Click(objectsender,System.EventArgse){ Rectanglerect=newRectangle(0,0,this.Width,this.Height-100); Graphicsg=this.CreateGraphics(); Imageimage=newBitmap("d:\test\tu1.jpg"); g.DrawImage(image,rect);} g=this.CreateGraphics();圖形圖像與多媒體編程課件14.4動(dòng)畫設(shè)計(jì)

14.4.1奔跑的豹子分別設(shè)計(jì)豹子奔跑的八種不同形狀,得到八個(gè)圖像,保存到文件名為t1.jpg到t8.jpg中。設(shè)計(jì)3只豹子從左向右奔跑的動(dòng)畫,要求能隨時(shí)調(diào)整奔跑的速度。1)創(chuàng)建一個(gè)Windows應(yīng)用程序,設(shè)置窗體的背景色為白色;向設(shè)計(jì)窗體拖放三個(gè)【PicturePox】控件,【SizeMode】屬性均為【StretchImage】,調(diào)整三只豹子的大小使其看起來有立體感;一個(gè)TrackBar控件,兩個(gè)Label控件,1個(gè)Timer控件。如圖:

14.4動(dòng)畫設(shè)計(jì)14.4.1奔跑的豹子圖形圖像與多媒體編程課件源程序如下:……usingSystem.Drawing.Drawing2D;namespaceDonghua{

public

classForm1:System.Windows.Forms.Form { Bitmap[]bitmap;

intnum;

privateSystem.Windows.Forms.TrackBartrackBar1;

privateSystem.Windows.Forms.Timertimer1;

privateSystem.Windows.Forms.Labellabel1;

privateSystem.Windows.Forms.Labellabel2;

privateSystem.Windows.Forms.PictureBoxpictureBox1;

privateSystem.Windows.Forms.PictureBoxpictureBox2;

privateSystem.Windows.Forms.PictureBoxpictureBox3;

privateSystem.ComponentModel.IContainercomponents;

publicForm1() { InitializeComponent();源程序如下:

this.trackBar1.Minimum=10;

this.trackBar1.Maximum=100;

this.trackBar1.

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論