freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

idl培訓(xùn)內(nèi)容ppt課件(參考版)

2025-01-13 14:29本頁(yè)面
  

【正文】 ? 后輸出的項(xiàng)目總在先輸出的項(xiàng)目的“上面” Object Graphics: ? 硬件加速的 3D場(chǎng)景顯示,靈活,交互性強(qiáng) ? 對(duì)象圖形系統(tǒng)主要以程序方式使用 ? 圖形對(duì)象是功能性封裝的。 對(duì)象圖形篇 -概述 Direct Graphics vs. Object Graphics Direct Graphics: ? 創(chuàng)建 2D圖形有優(yōu)秀表現(xiàn),如: XY plot ,contours ,mapping等 ? 可以在命令行使用,簡(jiǎn)單、快速 ? 圖形創(chuàng)建命令通常連同坐標(biāo)系一起創(chuàng)建 ? 圖形生成時(shí),針對(duì)當(dāng)前圖形設(shè)備 ? 圖形生成并輸出后,不可修改或再用。 對(duì)象類也可以用 IDL編寫以實(shí)現(xiàn)程序員自己的要求。 IDL里對(duì)象類的實(shí)現(xiàn)主要是用一組預(yù)建的對(duì)象類構(gòu)成對(duì)象圖形系統(tǒng)。對(duì)象類允許 程序員將 數(shù)據(jù)和方法封裝成為一個(gè)包,稱之為對(duì)象。, base, /no_block end IDL 高級(jí)培訓(xùn) 對(duì)象圖形篇 對(duì)象圖形篇 -概述 Basic 對(duì)象圖形是 IDL引入面向?qū)ο缶幊谈拍詈蟪霈F(xiàn)的。) widget_control, base, /realize xmanager, 39。, uvalue=39。) b2 = widget_button(base, value=39。, uvalue=39。) b1 = widget_button(base, value=39。 : widget_control, , /destroy else: endcase end pro timer_example base = widget_base(/column, uvalue=39。 : widget_control, , timer=2 39。 widget_control, , timer=2 end case uval of 39。) then begin print, 39。 pro timer_example_event, event widget_control, , get_uvalue=uval if (tag_names(event, /structure_name) eq 39。 編程篇 - table_resize事件 方法: sGeom=widget_info(widget_id ,/geometry) 返回一個(gè)描述 widget_id的相關(guān)坐標(biāo)信息的結(jié)構(gòu)數(shù)據(jù) ,利用這些數(shù)據(jù)就可以計(jì)算出新的 draw的 xsize和 ysize sGeom = { WIDGET_GEOMETRY ,XOFFSET: ,YOFFSET: ,XSIZE: ,YSIZE: ,SCR_XSIZE: ,SCR_YSIZE:, ,DRAW_XSIZE: ,DRAW_YSIZE:, ,MARGIN: ,XPAD: ,YPAD: ,SPACE: } 編程篇 - timer事件 一個(gè) timer事件,就是一個(gè)定時(shí)器,它按照設(shè)定的時(shí)間間隔自動(dòng)產(chǎn)生 WIDGET_TIMER事件,適當(dāng)?shù)卦O(shè)置 timer事件處理程序,就可以讓 IDL自動(dòng)地為我們工作了。 mouse coordinate ,device for mouse press left 1 mouse left for mouse release 2 mouse middle 4 mouse right 1 mouse clicks 2 mouse double clicks keyboard modifier key state when mouse event 1 shift 2 control 4 capslock 8 alt(win) 編程篇 - table_resize事件 改變窗口大小,一般來說,對(duì) draw的影響最大, draw應(yīng)該隨窗口的改變而改變, draw中的內(nèi)容也應(yīng)該隨之改變。 編程篇 - 數(shù)據(jù)傳遞 widget_list 和 widget_droplist 的 uvalue 通常我們?cè)? list 里放置的是帶有說明性的字符串?dāng)?shù)組,然而一旦進(jìn)入事件循環(huán)我們就再也不會(huì)得到這個(gè)數(shù)組,我們只能得到這個(gè)數(shù)組的 index 值,即數(shù)組下標(biāo)。這時(shí),使用 pState未必就比使用 sState更方便。 最后 沒有證據(jù)證明傳遞 sState 和 pState 哪一個(gè)更好。 編程篇 - 數(shù)據(jù)傳遞 沒有免費(fèi)的午餐! 指針仍然有一個(gè) 小小的 問題。 ( 2)事實(shí)上,必須返回用戶數(shù)據(jù)才會(huì)使修改有效這件事也會(huì)給我們帶來煩惱,這要求我們必須時(shí)刻保持警惕!是不是精神會(huì)有點(diǎn)緊張? :) 編程篇 - 數(shù)據(jù)傳遞 解決的方法 用一個(gè)指針變量可以解決這個(gè)問題! (我們不必等 IDL把用戶數(shù)據(jù) copy到全局內(nèi)存,我們有能力自己干?。? TLB: sState={ … } pState=ptr_new(sState ,/no_copy) widget_control ,TLB_id ,set_uvalue=pState EH: widget_control , ,get_uvalue=pState 這時(shí), *pState 就是 sState 有了指針,我們方便多了! ( 1)任何修改立即生效,免去返回的煩惱。因?yàn)橐坏?no_copy, 則當(dāng)前的用戶數(shù)據(jù)變量就不再有效。 指定 /NO_COPY關(guān)鍵字,就只使用一份。而當(dāng)事件處理程序獲得用戶數(shù)據(jù)時(shí),又是從全局內(nèi)存中 copy一份到該事件處理程序的局部變量中。 Widget_control , ,get_uvalue=sState 注意到,用戶數(shù)據(jù)的傳遞是 值引用 ,這就意味著一旦在事件處理程序里改變了用戶數(shù)據(jù)的值,必須把改變了值的用戶數(shù)據(jù)傳回給 top才會(huì)使改變了的值在其它事件處理程序里生效。然后把這個(gè)結(jié)構(gòu)綁定給 TLB。 IDL提供了 user_value, 通過為 widget_id“綁定 ” user_value的方法傳遞數(shù)據(jù) 。widget_kill_request39。 函數(shù): 由于函數(shù)有返回值,如果返回值是一個(gè)結(jié)構(gòu),又恰恰符合 IDL事件結(jié)構(gòu)標(biāo)準(zhǔn),則 IDL會(huì)將這個(gè)返回值做為一個(gè)事件處理。 編程篇 - 事件處理程序 事件處理程序 事件處理程序可以是過程或函數(shù)。 2. 使用組件創(chuàng)建時(shí)的關(guān)鍵字 event_pro或 event_func為每一個(gè)事件單獨(dú)指定一個(gè)處理程序。 handler字段記錄該組件的標(biāo)識(shí)。 任何前三個(gè)字段定義與上述意義相同的命名字段,都可以認(rèn)為是 IDL的一個(gè)事件結(jié)構(gòu)。 handler: 長(zhǎng)整數(shù),事件處理程序標(biāo)識(shí)符。 id: 長(zhǎng)整數(shù),產(chǎn)生事件的標(biāo)識(shí)符。包括一個(gè)結(jié)構(gòu)名、三個(gè)公共字段和一些個(gè)體字段。若指定,擁有最高優(yōu)先級(jí) 語(yǔ)法: clenup_pro ,widget_id 程序運(yùn)行了嗎? Result = XREGISTERED( name [,/NO_SHOW] ) 編程篇 - 事件結(jié)構(gòu) 事件 用戶在 GUI上的每一個(gè)‘ 認(rèn)可的 ’ 操作都會(huì)產(chǎn)生一個(gè)事件, xmanager將事件信息打包傳給 IDL, IDL將事件信息解讀后打包成一個(gè)結(jié)構(gòu)類型的數(shù)據(jù),即事件結(jié)構(gòu),并把這個(gè)事件結(jié)構(gòu)做為 唯一的位置參數(shù) 發(fā)送給事件處理程序。 xmanager ,name ,widget_id ,/just_reg ,/no_block ,group_leader=widget_id ,event_handler=`event_pro’ ,cleanup=‘cleanup_pro’ name: 創(chuàng)建 TLB的過程名 widget_id: TLB的 id just_reg: 登記一個(gè) TLB, 但并不進(jìn)入事件循環(huán) no_block: 在程序運(yùn)行期間仍然允許 IDL環(huán)境可以使用 group_leader: 指定上一層次的 widget_id event_handler: 指定事件處理程序。 可以使用 map=0關(guān)鍵字使某些子層次暫不顯示。對(duì)話框是modal元素,當(dāng)調(diào)用一個(gè)對(duì)話框時(shí),其他界面元素暫時(shí)刮起直至對(duì)話框返回。 組合組件包括一下幾類: ? Animation( 動(dòng)畫) ? Color Manipulation( 顏色操作 ) ? Data Entry and Display( 數(shù)據(jù)輸入輸出 ) ? Image Manipulation( 圖像處理 ) ? Orientation( 定位操作 ) ? User Interface( 用戶界面 ) 組合組件一般目的是擴(kuò)充了相應(yīng)的基本組件的功能。 通常在創(chuàng)建時(shí)使用 編程篇 - GUI其他組件 Compound Widgets 組合組件是一組完備、自容、可重用的應(yīng)用程序,使用時(shí)與基本組件大致相同,但它們是用 IDL編寫的。 通常在與用戶交互時(shí)使用。 這些都是以后檢索、操作這個(gè)組件的標(biāo)識(shí)。 GUI 組件: widget_draw: 圖形窗口,所有的圖形、圖像顯示均在此實(shí)現(xiàn) widget_label: 標(biāo)簽,不可編輯的文本,可用于提示、說明 widget_button: 按鈕,分為 push button、 radio button和 checkbox。 編程篇 - GUI基本組件 容器組件: widget_base: 任何 GUI組件必須在某 BASE組件 上實(shí)現(xiàn)。調(diào)用該類程序后,調(diào)用者可以繼續(xù)運(yùn)行。 floating TLB: tlb_id=widget_base( group_leader=group ,/floating ,uname=’tlb‘ ,title=’floating app‘ ) 適用于任務(wù)優(yōu)先類的應(yīng)用程序, 通常 不可以單獨(dú)運(yùn)行,只能被調(diào)用。 group必須合法。 group可以不存在。 /NO_BLOCK 使用該關(guān)鍵字,主程序運(yùn)行后,命令行仍然可以使用,主程序自身仍可修改編譯,有利于調(diào)試。 編程篇 - 應(yīng)用程序結(jié)構(gòu) XManger Widget Creation Routine (TLB) call xmanager Event Handler Calling Routine Event structure Only if TLB is destoryed 主程序 調(diào)用相關(guān)子程序 編程篇 - 主程序結(jié)構(gòu) 主程序的一般結(jié)構(gòu): pro app_pro pile_opt idl2 create top layout base(TLB) create gui base on TLB (initial application) realize TLB collect user information call xmanager [,/NO_BLOCK] end initial application 該過程可以在主程序里進(jìn)行。 分發(fā): 將源程序編譯為 .sav文件。指定其中一個(gè)過程為主程序,該過程的名字作為工程執(zhí)行時(shí)首先調(diào)用的過程(即 run mand)。 pro test … end 在這種方式下,根據(jù) IDL的自動(dòng)編譯規(guī)則,所有被調(diào)用的子程序 或者 與主程序?qū)懭胪粋€(gè)文件并放置在主程序的上部; 或者 寫成與子程序同名的 .pro文件,存儲(chǔ)在可搜索的路徑下。printer39。 close_file: 刷新輸出緩沖區(qū)后關(guān)閉圖形輸出文件。 !: 當(dāng)前設(shè)備名。 創(chuàng)建濾波器: 歐氏距離圖(頻率圖像): r=dist(n [,m]), n和 m與實(shí)際圖像相同 Butterworth頻率濾波器: 低通濾波: filter=1/[1+c*(r/r0)2n] 高通濾波: filter=1/[1+c*(r
點(diǎn)擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1