版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、第四講、Java 多媒體編程應(yīng)用技術(shù)本講的知識要點:Graphics類、paint()格式及繪制的時機。Java中的文本、圖形、圖像繪制、聲音、動畫等編程技術(shù)。4.1 Java 中的圖形、文本、圖像繪制編程的相關(guān)知識4.1.1 有關(guān)的類及繪制函數(shù):主要涉及java.awt包中的Graphics類;編程的基本方法是調(diào)用Graphics類中的相應(yīng)的繪制圖形、繪制文本、繪制圖像等函數(shù)以實現(xiàn)在圖形窗口下輸出圖形、文本、圖像等。4.1.2編程方法:先利用(在組件的paint()函數(shù)內(nèi))或獲取(在組件的其它函數(shù)內(nèi)如事件響應(yīng)函數(shù)內(nèi))java.awt包中的Graphics類對象(它代表當(dāng)前組件如窗口的繪圖環(huán)境
2、),然后調(diào)用Graphics類中相應(yīng)的繪制函數(shù)來實現(xiàn)輸出。4.1.3 繪制的時機: 組件外形發(fā)生變化時(如窗口的大小、位置、圖標(biāo)化等顯示區(qū)域更新時),AWT自動從高層直到葉結(jié)點組件相應(yīng)地調(diào)用各組件的paint()方法,但這可能有一個遲后感。 程序員也可直接調(diào)用某一個組件的repaint()(系統(tǒng)再調(diào)用update()以清除背景區(qū)域,系統(tǒng)再調(diào)用paint()實現(xiàn)輸出;如直接調(diào)用paint()將保留上次的屏幕輸出,故不直接調(diào)用paint()),以立即更新外觀(如在添加新的顯示內(nèi)容后)。要點F如果要求保留上次的輸出結(jié)果時可以調(diào)用paint(),而不要求保留上次的輸出結(jié)果只希望用戶能看到最新的輸出結(jié)果
3、時可以調(diào)用repaint()。 AWT響應(yīng)外部的事件時(如首先顯示于屏幕或需刷新時),AWT也會直接調(diào)用repaint()函數(shù)。4.1.4如何獲取Graphics類對象并繪制: 繪制之前,必須先獲取Graphics類對象,因為它包含有當(dāng)前組件的繪圖環(huán)境,從而實現(xiàn)在當(dāng)前組件(如圖形窗口)內(nèi)輸出。方法一:在paint()內(nèi)則可通過其形參(它代表當(dāng)前組件的繪圖環(huán)境),從而調(diào)用Graphics類中的相關(guān)的繪制成員函數(shù)。public void paint(Graphics g) g.drawString(Java Text,x,y);方法二:先在組件類(如Applet或窗框Frame的其他成員函數(shù))中調(diào)
4、用getGraphics()來獲取當(dāng)前組件的繪圖環(huán)境,再強制繪制輸出,從而可在paint()函數(shù)之外(如事件響應(yīng)函數(shù)內(nèi))產(chǎn)生繪制動作。public void actionPerformed(ActionEvent e) Graphics g=getGraphics();/獲取當(dāng)前組件的繪圖環(huán)境 g.drawString(Java Text,x,y); /強制在當(dāng)前組件內(nèi)繪制輸出4.2 Java 中文本字串的編程輸出顯示4.2.1 文本控制臺方式下輸出文字串:System.out.print(“待輸出的文字串”);4.2.2 圖形窗口環(huán)境下輸出文字串:應(yīng)調(diào)用Graphics 類中相應(yīng)的輸出函數(shù):
5、g.drawString(“待輸出的文字串”,x, y); /注意其中的X,Y是指定文本的左下角的坐標(biāo)位置4.2.3圖形、文字的顏色編程:可以利用Color類設(shè)置或獲取某一容器組件內(nèi)的圖形、文字的顏色。 編程方法:利用Color類創(chuàng)建出一Color類對象并設(shè)置顏色特征參數(shù)(r、g、b 三基色的分量);調(diào)用Graphics類中的setColor()將用戶的顏色加入到系統(tǒng)中;再調(diào)用繪制函數(shù)輸出圖形、文字等。 實例:public void paint(Graphics g)Color myColor= new Color(red, green, blue);g.setColor(myColor);g
6、.drawString(“這是Java中的帶顏色的文字串”, 100,100) ;g.drawRect( 10,10,100 ,100) ;要點F了解顏色的變化規(guī)律。JDK Color類中預(yù)定義了13種常量顏色(如: Color.red、Color.green等);對 Java的組件也可借助于setBackground()/setForeground()、getBackground()/getForeground()來改變或獲取組件的前景和背景色。4.2.4 圖形文字的字體編程:可以利用Font類設(shè)置或獲取某一容器組件內(nèi)的文字字體。4.2.4.1 編程方法:利用Font類創(chuàng)建出一Font類對象
7、并設(shè)置字體特性參數(shù);調(diào)用Graphics類中的setFont()將用戶字體加入到系統(tǒng)中;再調(diào)用繪制函數(shù)輸出文字(也可以設(shè)置按鈕等基本控件的字體 OK.setFont())。4.2.4.2 實例:public void paint(Graphics g)Font myFont= new Font(“Dialog”, Font.BOLD, 20);g.setFont(myFont);g.drawString(“這是Java中的Dialog字體的文字串”, 100,100) ;4.2.4.3 獲得當(dāng)前主機系統(tǒng)字體:編程GraphicsEnvironment環(huán)境類。GraphicsEnvironmen
8、t gEnvironment= GraphicsEnvironment.getLocalGraphicsEnvironment();String fontNames= gEnvironment .getAvailableFontFamilyNames();選學(xué)內(nèi)容$: 字體的尺寸FontMetrics。drawString()函數(shù)中的字符位置坐標(biāo)x、y含義(字符串的左下角);獲知字符或字符串的寬度(stringWidth() 、charWidth())。獲取文字字體的尺寸方法: FontMetrics fm=g.getFontMetrics();fm.getHeight();4.3 Java
9、中的圖形編程(1)Graphics 類中的圖形函數(shù)(參見類庫手冊):可以將 java.awt.Graphics 支持的非特性方法劃分為三個常規(guī)類別之下:l 跟蹤形狀輪廓的繪制方法(點、線和面): drawBytes()drawChars() drawImage()drawPolygon() drawPolyline()drawString() drawLine(int x1, int y1, int x2, int y2); /畫直線drawRect(int x, int y, int w, int h); /畫矩形drawRoundRect(int x, int y, int w, int
10、h, int w1, int h1); /畫圓角矩形;drawArc(int x,int y,int width, int height, int startAngle, int arcAngle); /畫圓弧線(圓弧角度逆時針為正)drawOval(int x,int y,int width, int height); /畫橢圓draw3DRect(int x, int y, int w, int h, boolean flag);/畫三維矩形(先設(shè)置作圖顏色為亮灰色g.setColor(Color.lightGray);然后再畫它)l 填充形狀輪廓的繪制方法:fill3DRect()fil
11、lArc()fillPolygon()fillRoundRect() fillRect(int x, int y, int w, int h); /畫填充矩形fillOval(int x,int y,int width, int height); /畫填充橢圓(填充的顏色由g.setColor()決定) l 其它雜項方法copyArea(int x, int y,int width, int height, int dx, int dy);clearRect(int x, int y,int width, int height);translate()實例 設(shè)計一個畫直方圖的Java Appl
12、et程序1import java.applet.*;2import java.awt.*;3public class LifeCycle extends Applet4 public void paint(Graphics g) 5 g.drawLine(20,200,300,200); /畫出X坐標(biāo)軸6 g.drawLine(20,200,20,20);/畫出Y坐標(biāo)軸7 g.drawLine(20,170,15,170); 8 g.drawLine(20,140,15,140); /畫出Y坐標(biāo)軸上的數(shù)據(jù)的各個刻度線,共5條9 g.drawLine(20,110,15,110);10 g.dr
13、awLine(20,80,15,80);11 g.drawLine(20,50,15,50);12 g.drawString(“Init()”,25,213); /在X坐標(biāo)軸上顯示出各個名稱的文字13 g.drawString(“Start()”,75,213);14 g.drawString(“Stop()”,125,213);15 g.drawString(“Destroy()”,175,213);16 g.drawString(“Paint()”,235,213);17 g.fillRect(25,200-InitCnt*30,40, InitCnt*30); /畫填充矩形作為直方條,但
14、放大30倍18 g.fillRect(75,200-StartCnt*30,40, StartCnt*30);19 g.fillRect(125,200-StopCnt*30,40, StopCnt*30);20 g.fillRect(175,200-DestroyCnt*30,40, DestroyCnt*30);21 g.fillRect(235,200-PaintCnt*30,40, PaintCnt*30);2223實例 設(shè)計一個自由筆(鉛筆)以產(chǎn)生手畫線的程序。public boolean mouseDrag(Event evt, int x, int y)Graphics g=ge
15、tGraphics() ; /在鼠標(biāo)的mouseDrag事件中畫出鼠標(biāo)的當(dāng)前位置的點g.setColor(Color.red) ;g.drawLine(x, y, x, y ) ;return true;實例自定義出一個按紐效果的圖形public void paint(Graphics g) g.setColor(Color.LIGHT_GRAY); g.fillRect(1,1,100-2,100-2); g.draw3DRect(0,0,100-1,100-1,true); g.setColor(this.getForeground(); g.drawRect(2,2,100-4,100-
16、4); 畫圓弧g.drawArc(10,40,70,70,0,90); /在原點為(10,40),半徑為70,起始角度為0度,逆時針轉(zhuǎn)90度的圓弧g.fillArc(100,40,70,70,0,90); /在原點為(100,40),半徑為70,起始角度為0度,逆時針轉(zhuǎn)90度的圓弧g.drawArc(10,100,70,80,0,-90); /在原點為(10,100),長軸為80,短軸為70,起始角度為0度,順時針轉(zhuǎn)90度的弧g.fillArc(100,100,70,80,0,-90); /在原點為(100,100),長軸為80,短軸為70,起始角度為0度,順時針轉(zhuǎn)90度的填充弧畫多邊形int
17、 xArr = 78,188,194,284,106,116,52 ;int yArr = 66,148,72,140,216,160,212 ;int numPoints=xArr.length;/獲得x,y坐標(biāo)對數(shù)組的長度g.drawPolygon( xArr, yArr, numPoints);4.4 Java Applet中聲音編程4.4.1 聲音文件的格式:Java2目前支持*.au(適用于Sun Solaris機)、*.wav(適用于PC機) 、*.aiff(適用于Macintosh機)、*.MIDI 格式。主要的聲音文件類型的說明如下:AU - (擴展名為AU或SND)適用于短的
18、聲音文件,為Solaris和下一代機器的通用文件格式,也是JAVA平臺的標(biāo)準(zhǔn)的音頻格式。AU類型文件使用的三種典型音頻格式為: 8位-law類型(通常采樣頻率為8kHz), 8位線性類型,以及16位線性類型。WAV - (擴展名為WAV)由 Microsoft和 IBM共同開發(fā),對WAV的支持已經(jīng)被加進Windows 95并且被延伸到Windows 98. WAV文件能存儲各種格式包括-law,a-law和 PCM (線性)數(shù)據(jù)。他們幾乎能被所有支持聲音的Windows應(yīng)用程序播放。AIFF - (擴展名為AIF或IEF)音頻互換文件格式是為Macintosh計算機和Silicon Graph
19、ics (SGI)計算機所共用的標(biāo)準(zhǔn)音頻文件格式。AIFF和 AIFF-C幾乎是相同的,除了后者支持例如-law和 IMA ADPCM類型的壓縮。MIDI - (擴展名為MID)樂器數(shù)字接口MIDI是為音樂制造業(yè)所認(rèn)可的標(biāo)準(zhǔn),主要用于控制諸如合成器和聲卡之類的設(shè)備。4.4.2編程要點:先加載聲音文件;再播放它。4.4.3編程方法: 方法一:在Applet程序中直接調(diào)用play()函數(shù)。play(getDocumentBase(), “mySound .au”) ;但此方法的缺點是用戶無法控制它,因為加載聲音文件到內(nèi)存中后將馬上播放它。 方法二:AudioClip sound= getAudio
20、Clip( getDocumentBase(), “mySound . au”);sound.play(); /或 sound.stop(); 注意:此方法的優(yōu)點是聲音文件的加載與播放分開,從而可控。實例import java.applet.*;import java.awt.*;import java.awt.event.*;public class AudioClipDemo extends Applet implements ActionListenerButton PlayButton,LoopButton,StopButton;AudioClip sound;public void
21、init() /以下代碼為生成三個按鈕并添加ActionListener接口中的事件 PlayButton=new Button(開始播放);add(PlayButton);PlayButton.addActionListener(this); LoopButton=new Button(循環(huán)播放);add(LoopButton);LoopButton.addActionListener(this); StopButton=new Button(終止播放);add(StopButton);StopButton.addActionListener(this);sound= getAudioCli
22、p(getDocumentBase(), computer.au); /加載聲音文件public void actionPerformed(ActionEvent e)/用戶的鼠標(biāo)行為事件(單擊) /以下的代碼是識別用戶按下那個按鈕,并根據(jù)所按的按鈕不同相應(yīng)地進行操作if(e.getSource()=PlayButton)sound.play();/開始播放聲音else if(e.getSource()=StopButton)sound.stop();/終止播放聲音else if(e.getSource()=LoopButton)sound.loop();/循環(huán)播放聲音4.5 Java中圖像編
23、程4.5.1 有關(guān)的包與類:在java.awt包、java.awt.image包、java.applet包中都有與圖像有關(guān)的類Image。要點F圖像編程的基本過程是:先加載圖像(將它轉(zhuǎn)化為Image類對象);再跟蹤圖像的加載過程;最后顯示出圖像;圖像文件格式目前支持*.gif、*.jpeg、*.png等。4.5.2 加載圖像:在Applet及Application程序中載入圖像的方式。 Java Applet中加載圖像:直接調(diào)用Image myImage = getImage(URL address, imageFileName); Java Application中加載圖像:利用Toolki
24、t 類中的getImage()。如:Image myImage =Toolkit .getDefaultToolkit(). getImage(imageFileName); 加載圖像。4.5.3 跟蹤圖像載入:通過對圖像進行跟蹤,可以在圖像完全加載完畢之后再顯示出圖像,因為AWT是異步在后臺完成圖像的加載,主進程繼續(xù)執(zhí)行程序;如果此時就顯示出圖像,將導(dǎo)致部分圖像顯示;特別是在網(wǎng)絡(luò)速度較慢時更應(yīng)該考慮它,故應(yīng)該跟蹤圖像的載入過程,一但發(fā)現(xiàn)圖像載入完畢,再顯示出圖像。 跟蹤圖像載入方式一:利用MediaTracker類來跟蹤圖像(適用于多幅圖象、動畫圖象的跟蹤)MediaTracker trac
25、ker =new MediaTracker(this);tracker.addImage(img,0);/將需要跟蹤的圖像加人到跟蹤器中并指示其編號trym_Graphics. drawString(“正在加載圖像,請等待?!? 50,50) ; /未加載完畢時顯示等待提示信息tracker.waitForAll();/等待圖象加載完畢catch (InterruptedException e)然后再顯示出圖象 跟蹤圖像載入方式二:利用ImageObserver接口來實時跟蹤圖像載入情況(適用于靜態(tài)單幅大圖象的跟蹤):該方法的編程基本思路為(1)在本類中實現(xiàn)ImageObserver接口并重寫
26、imageUpdate()方法,在其中實時監(jiān)視圖像載入情況,如果圖像載入完畢將返回false表示不再需要跟蹤(if(info &ALLBITS)),而其他狀態(tài)下都返回true表示需要繼續(xù)跟蹤圖像的載入。(2)一旦圖像加載完畢,AWT會自動調(diào)用本類(組件類)的repaint()來顯示出圖像。import java.awt.*;import java.awt.image.*;import java.applet.*;public class ImageObserverTest extends Applet implements ImageObserver Image img; public voi
27、d init() img=getImage(getDocumentBase(),myGif.gif); /加載圖像 public void paint(Graphics g) /顯示出圖像并指定圖像觀察者對象為本Applet程序?qū)ο?g.drawImage(img, 0,0, this); public boolean imageUpdate(Image img, int infoflag, int x, int y, int width, int height) if(infoflag & ALLBITS)=0) /識別圖像是否加載完畢return true; /圖像未加載完畢時將返回tru
28、e,意味需要再跟蹤 else return false; /加載完畢后將返回false,意味不需要再跟蹤 4.5.4顯示出圖像:調(diào)用Graphics類中的drawImage(Image image , int x, int y , ImageObserver observer) 顯示出圖像,其中第四個參數(shù)可以為null(不跟蹤圖像載入時)或this(跟蹤圖像載入并且跟蹤者為本程序)。4.6 Java 中的動畫編程4.6.1 動畫編程的原理:畫出一系列的圖像幀,利用人眼的視覺暫停來造成運動的感覺。4.6.2 編程實現(xiàn)的手段:利用線程來達到循環(huán)顯示輸出,使動作不斷地重復(fù)產(chǎn)生。4.6.3 動畫的質(zhì)量
29、:除了圖片本身的好壞外,動畫中動作的平滑程度也是一大關(guān)鍵(每秒所播放的圖像數(shù)較多,動畫中動作的平滑程度則較高,一般應(yīng)該為1020幀/秒);動畫的速度則可利用Java線程中的threadObj.sleep()來延遲以控制動畫的速度。4.6.4常見的動畫效果及實現(xiàn)原理: 運動效果:平動-通過在線程體循環(huán)中改變文字在顯示時(g.drawString())x,y坐標(biāo)位置或g.drawImage()中的x,y坐標(biāo)位置來實現(xiàn);規(guī)則運動-通過在線程體循環(huán)中將x, y之間滿足一定的數(shù)學(xué)規(guī)則或方程便可以達到。 變焦(由遠到近-文字由小到大;由近到遠-文字由大到小):通過在線程體循環(huán)中不斷地改變文字的字體大小或圖
30、像的大小來實現(xiàn)。 淡入淡出:通過在線程體循環(huán)中不斷地改變文字的顏色并將顏色按某種規(guī)則變化來實現(xiàn)。4.6.5 動畫的圖像載入編程技巧:技巧一:為利用一個for()循環(huán)來將圖片全部載入,因而各個圖像文件名一般可采用數(shù)字編碼來命名它。技巧二:利用getImage()函數(shù)并用Image數(shù)組來存放各個Image對象。技巧三:在線程體內(nèi)將當(dāng)前動畫圖像幀數(shù)加一,然后調(diào)用repaint()方法輸出當(dāng)前圖像幀。技巧四:為使人眼能正確地區(qū)分出各個圖像幀,應(yīng)該休眠線程一段時間。4.6.6 動畫的載體:文字或圖像兩種形式實例 :文字淡入淡出動畫的編程實現(xiàn)(以下只給出部分源程序,全部源程序請見TxtColor.java
31、文件)。(1)原理:利用new創(chuàng)建一個線程,用drawString()在屏幕指定位置顯示出文字,然后讓線程休眠一段時間,再改變文字顯示的位置或顏色,最后再顯示文字(其中包括邊界判斷、重設(shè)坐標(biāo)等)。引用程序中所需的各個包(2)編程技巧:可利用Graphics類中的clipRect()函數(shù)用于限定繪制范圍,從而減少清屏的區(qū)域以避免圖像閃爍。1import java.awt.*;2import java.applet.*;3public class TxtColor extends java.applet.Applet implements Runnable定義各個對象及變量并初始化它們4Threa
32、d textThread=null;5int Red, Green,Blue;必須從Applet類派生并實現(xiàn)Runnable方法6int stringX, stringY;7String Text1=大家好,How Are You !;8Dimension rectSize;Applet初始化(完成各個初始化任務(wù))9 FontMetrics fm;10public void init()11Red=255;12Green=255;13Blue=255; /初始化各個顏色值14setFont(new Font(Helvetica,Font.BOLD,16); /生成一種字體并使用它15fm=ge
33、tFontMetrics(getFont(); /獲得該字體的尺寸參數(shù)16rectSize=size();/獲得Applet的當(dāng)前的尺寸參數(shù)(寬度和高度值)17rectSize.width=fm.stringWidth(Text1);/獲得字串在該字體時的寬度尺寸參數(shù)18resize(rectSize.width,rectSize.height); /重置Applet的寬和高度值)19stringY=rectSize.height; /定位起始位置20stringX=0;21setBackground(Color.white);/設(shè)置背景色2223public void start()24if
34、 (textThread=null)25textThread=new Thread(this,text); /實例化線程26textThread.start(); /啟動改線程線程體272829public void run() / 識別當(dāng)前線程是否正在運行30while (Thread.currentThread()=textThread)31repaint(); /更新Applet所在的區(qū)域32try /捕獲InterruptedException異常33textThread.sleep(150); /延遲3435catch(InterruptedException e)363738設(shè)置剪
35、切區(qū)3940public void update(Graphics g)41 /替換基類的update()以消除閃爍,不清除整個背景42g.clipRect(stringX,stringY-fm.getAscent(),rectSize.width,fm.getHeight()*3);43 g.clearRect(stringX,stringY-fm.getAscent(),rectSize.width,fm.getHeight()*3);清除剪切區(qū)重新繪畫剪切區(qū)44paint(g);4546 /必須重寫出paint()函數(shù),因為在Applet初始顯示時將直接調(diào)用它47public void
36、paint(Graphics g)48if (stringY=0)/字符串Y坐標(biāo)是否為0(移到頂部?)49 stringY=rectSize.height; /重置字符串到最初的位置(底部)5051stringY-; /開始顏色變化52Color textColor=new Color(Red,Green,Blue); 53 /利用當(dāng)前顏色分量重組合成一種新顏色54g.setColor(textColor);/將文字改為該顏色顯示55g.drawString(Text,stringX,stringY); /在指定位置處重新顯示出該文字56if (stringY=255)58 Green=255;59 Red=255;改變顏色三分量值,遞增則形成變淡效果,遞減則形成變深效果60 Blue=255;61 62else63 Green=Green+3;64 Red=Red+3;65 Blue=Blue+3;66 6768else69if(Green=0)70 Green=0;71 Red=0;72 Blue=0
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 鹽城師范學(xué)院《中學(xué)思想政治課程標(biāo)準(zhǔn)與教材分析》2022-2023學(xué)年第一學(xué)期期末試卷
- 2024專利代理合同范本書
- 2024定制家具銷售合同
- 2024晚會設(shè)備租賃合同
- 北京版四年級上冊數(shù)學(xué)第六單元 除法 測試卷(必刷)
- 2024三人合作合同范本
- 2024施工合同變更協(xié)議書模板
- TPU熱塑性彈性體與鋼絲復(fù)合工業(yè)皮帶生產(chǎn)項目環(huán)評報告表
- 五洞巖風(fēng)電場2024年電氣作業(yè)專項考試練習(xí)卷含答案
- 2024年卡車客車項目合作計劃書
- 安徽省皖豫聯(lián)盟2023-2024學(xué)年高二上學(xué)期期中英語試題(原卷版)
- 老年護理與人文關(guān)懷
- 政務(wù)號短視頻運營方案案例解析
- 《開學(xué)第一課:一年級新生入學(xué)班會》課件
- 高二期中考試家長會課件
- 凈化維保半年總結(jié)匯報
- 初中數(shù)學(xué)八年級上冊 軸對稱與軸對稱圖形 市賽一等獎
- 人工智能行業(yè)職業(yè)生涯發(fā)展規(guī)劃
- 關(guān)聯(lián)交易培訓(xùn)課件
- 醫(yī)院放射診療中的輻射防護常識學(xué)習(xí)培訓(xùn)
- 誡子書綜合測試題及答案
評論
0/150
提交評論