




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、嵌入式計(jì)算機(jī)系統(tǒng)大作業(yè) 題目: 圖片播放器 院系: 電子與信息工程學(xué)院 專(zhuān)業(yè)年級(jí): 電工理論與新技術(shù) 學(xué)生姓名: # 學(xué)號(hào) #同組學(xué)生: # 學(xué)號(hào) # 2013年12月29日目錄一、需求分析11.1 意義11.2 發(fā)展情況11.3 開(kāi)發(fā)技術(shù)目的2二、系統(tǒng)開(kāi)發(fā)思想和開(kāi)發(fā)環(huán)境32.1 系統(tǒng)開(kāi)發(fā)思想32.2 開(kāi)發(fā)環(huán)境32.3 采用的技術(shù)及特點(diǎn)3三、開(kāi)發(fā)模塊劃分和說(shuō)明43.1 模塊及功能43.2 模塊說(shuō)明4四、核心代碼及其說(shuō)明4五、程序運(yùn)行及測(cè)試135.1 運(yùn)行配置135.2 運(yùn)行界面135.3 程序測(cè)試14六、遇到的問(wèn)題與解決方案及系統(tǒng)特點(diǎn)156.1 遇到的問(wèn)題與解決方案156.2 系統(tǒng)整體特色15
2、七、心得體會(huì)16i嵌入式系統(tǒng)與優(yōu)化大作業(yè)圖片播放器一、需求分析1.1 意義圖像是現(xiàn)代信息社會(huì)中最基本的信息,它使信息變得栩栩如生,更加符合人們的日常交流習(xí)慣,因此它成為人類(lèi)獲取和交換信息的主要來(lái)源。如今數(shù)字圖像處理的應(yīng)用日益廣泛,逐步成為信息科學(xué)、工程學(xué)、醫(yī)學(xué)等許多學(xué)科的重要基礎(chǔ),同時(shí)作為一種實(shí)用技術(shù)廣泛應(yīng)用于軍事、氣象、交通、探礦、水利、農(nóng)業(yè)甚至娛樂(lè)等領(lǐng)域。尤其是價(jià)格低廉的高性能計(jì)算機(jī)和諸如數(shù)碼相機(jī)及掃描儀這樣的圖像采集設(shè)備出現(xiàn)后,數(shù)字圖像處理技術(shù)被大量的應(yīng)用到影視、游戲等公眾及娛樂(lè)領(lǐng)域,與人類(lèi)的生活密切相關(guān)。處理信息量巨大,要求處理速度極高,實(shí)時(shí)產(chǎn)生高質(zhì)量的圖形圖像是我們不斷的追求目標(biāo)。因
3、此本選題具有較好好的實(shí)用價(jià)值和意義。 1.2 發(fā)展情況目前圖像處理的主流應(yīng)用是圖像的壓縮,即通過(guò)互聯(lián)網(wǎng)進(jìn)行傳遞或在可視電話(huà)和視頻會(huì)議中進(jìn)行動(dòng)態(tài)視頻圖像的壓縮??梢曤娫?huà)是當(dāng)今結(jié)合計(jì)算機(jī)圖像和傳統(tǒng)圖像處理的技術(shù),以期產(chǎn)生很高壓縮比的交叉領(lǐng)域之一。所有這一切都是圖像的“數(shù)字表達(dá)”這一不可抗拒的發(fā)展趨勢(shì)的組成部分。事實(shí)上,20世紀(jì)最強(qiáng)大、應(yīng)用最廣泛的圖像形式電視圖像,也將不可避免的融入數(shù)字領(lǐng)域。 數(shù)字圖像及其處理技術(shù)之所以發(fā)展的如此迅速并獲得廣泛的應(yīng)用,與其自身的優(yōu)點(diǎn)是息息相關(guān)的。1.再現(xiàn)性好 數(shù)字圖像處理與模擬圖像處理的根本不同在于,它不會(huì)因圖像的存儲(chǔ)、傳輸或復(fù)制等一系列變換操作而導(dǎo)致圖像質(zhì)量的退化
4、。只要圖像在數(shù)字化時(shí)準(zhǔn)確地表現(xiàn)了原稿,則數(shù)字圖像處理過(guò)程始終能保持圖像的再現(xiàn)。2.處理精度高 按目前的技術(shù),幾乎可將一幅模擬圖像數(shù)字化為任意大小的二維數(shù)組,這主要取決于圖像數(shù)字化設(shè)備的能力?,F(xiàn)代掃描儀可以把每個(gè)像素的灰度等級(jí)量化為16位甚至更高,這意味著圖像的數(shù)字化精度可以達(dá)到滿(mǎn)足任一應(yīng)用需求。對(duì)計(jì)算機(jī)而言,不論數(shù)組大小,也不論每個(gè)像素的位數(shù)多少,其處理程序幾乎是一樣的。換言之,從原理上講不論圖像的精度有多高,處理總是能實(shí)現(xiàn)的,只要在處理時(shí)改變程序中的數(shù)組參數(shù)就可以了?;叵胍幌聢D像的模擬處理,為了要把處理精度提高一個(gè)數(shù)量級(jí),就要大幅度地改進(jìn)處理裝置,這在經(jīng)濟(jì)上是極不合算的。3.適用面寬 圖像可
5、以來(lái)自于多種信息源,它們可以是可見(jiàn)光圖像,也可以是不可見(jiàn)的波譜圖像(例如x射線(xiàn)圖像、射線(xiàn)圖像、超聲波圖像或紅外圖像等)。從圖像反映的客觀實(shí)體尺度看,可以小到電子顯微鏡圖像,大到航空照片、遙感圖像甚至天文望遠(yuǎn)鏡圖像。這些來(lái)自不同信息源的圖像只要被變換為數(shù)字編碼形式后,均是用二維數(shù)組表示的灰度圖像(彩色圖像也是由灰度圖像組合成的,例如rgb圖像由紅、綠、藍(lán)三個(gè)灰度圖像組合而成),因而均可用計(jì)算機(jī)來(lái)處理。即只要針對(duì)不同的圖像信息源,采取相應(yīng)的圖像信息采集措施,圖像的數(shù)字處理方法可適用于任何一種圖像。4. 靈活性高 圖像處理大體上可分為圖像的像質(zhì)改善、圖像分析和圖像重建三大部分,每一部分均包含豐富的內(nèi)
6、容。由于圖像的光學(xué)處理從原理上講只能進(jìn)行線(xiàn)性運(yùn)算,這極大地限制了光學(xué)圖像處理能實(shí)現(xiàn)的目標(biāo)。而數(shù)字圖像處理不僅能完成線(xiàn)性運(yùn)算,而且能實(shí)現(xiàn)非線(xiàn)性處理,即凡是可以用數(shù)學(xué)公式或邏輯關(guān)系來(lái)表達(dá)的一切運(yùn)算均可用數(shù)字圖像處理實(shí)現(xiàn)。1.3 開(kāi)發(fā)技術(shù)目的隨著多媒體和互聯(lián)網(wǎng)的快速發(fā)展,圖片瀏覽功能成了絕大部分計(jì)算機(jī)必不可少的基本功能之一。比如windows操作系統(tǒng)自帶的windows圖片瀏覽器、acdsee看圖軟件等,都是為了方便用戶(hù)查看、瀏覽及處理圖片的優(yōu)秀軟件。同樣,在相關(guān)嵌入式系統(tǒng)(如手機(jī)、mp4、數(shù)碼相機(jī)等)中,圖片瀏覽也成為了不可或缺的功能。為此,我們專(zhuān)門(mén)開(kāi)發(fā)了一款基于wince系統(tǒng)的圖片瀏覽器,主要實(shí)
7、現(xiàn)在wince系統(tǒng)上對(duì)圖片進(jìn)行顯示、翻頁(yè)、縮放、旋轉(zhuǎn)以及簡(jiǎn)單的效果處理等。我們知道,圖片瀏覽器作為一種常用的應(yīng)用程序,其基本功能都是差不多的,比如顯示一張圖片,放大,縮小,旋轉(zhuǎn)等等,因此我們實(shí)地親自使用了在桌面環(huán)境下的一些圖片應(yīng)用程序,總結(jié)出一些比較基礎(chǔ)的常用功能,來(lái)作為我們的程序的需求。二、系統(tǒng)開(kāi)發(fā)思想和開(kāi)發(fā)環(huán)境2.1 系統(tǒng)開(kāi)發(fā)思想我們通過(guò)對(duì)一些桌面圖片處理瀏覽程序進(jìn)行研究,總結(jié)了它們的一些基本特征,從而構(gòu)想出我們的設(shè)計(jì)方案。開(kāi)發(fā)環(huán)境:windows7開(kāi)發(fā)工具:microsoft visual studio 2005硬件環(huán)境:計(jì)算機(jī)、嵌入式處理器運(yùn)行環(huán)境:windows7、microsoft
8、 visual studio 2005、windowsce 5.0(不包含圖片瀏覽組件)、億道嵌入式開(kāi)發(fā)板e(cuò)eliod270教學(xué)開(kāi)發(fā)平臺(tái)。2.2 開(kāi)發(fā)環(huán)境由于本軟件為單機(jī)軟件,不需進(jìn)行大量的數(shù)據(jù)讀寫(xiě)和數(shù)據(jù)交換,故對(duì)系統(tǒng)硬件配置的要求并不高,只要能夠平穩(wěn)運(yùn)行windows操作系統(tǒng)的硬件平臺(tái),都能夠使用本軟件。本軟件運(yùn)行平臺(tái)為microsoft windows 98/me/nt/2000/xp/2003/7。 2.3 采用的技術(shù)及特點(diǎn)本軟件采用c#來(lái)進(jìn)行圖像編程。其主要特點(diǎn)是:1、c#代碼被編譯成匯編語(yǔ)言,可以直接在處理器上運(yùn)行,效率很高。2、c#直接控制內(nèi)存的分配和釋放,這雖繁瑣,加大了編程的負(fù)
9、擔(dān),但卻能有效地控制內(nèi)存的使用。3、使用c#進(jìn)行圖像處理編程具有更大的靈活性。而在以c#為核心語(yǔ)言的可視化編程工具中,microsoft visual studio以其自身許多優(yōu)異的特性而獲得了最為廣泛的應(yīng)用。鑒于以上的特點(diǎn),本設(shè)計(jì)使用microsoft visual studio 2005作為軟件的開(kāi)發(fā)平臺(tái)。三、開(kāi)發(fā)模塊劃分和說(shuō)明3.1 模塊及功能程序主要實(shí)現(xiàn)四大部分功能,敘述如下:(1) 圖片顯示模塊:包括“打開(kāi)”“刪除”功能,主要把jpg、png、jpeg、gif、tif、bmp等格式的圖片打開(kāi)并顯示在指定位置,或者刪除已經(jīng)打開(kāi)的圖片。(2) 圖片瀏覽模塊:包括“上一張”“下一張”“關(guān)閉
10、”功能,可以對(duì)文件夾里面的圖片進(jìn)行翻頁(yè)瀏覽,以及關(guān)閉瀏覽模式。(3) 圖片縮放模塊:包括“放大”“縮小”功能,對(duì)圖片進(jìn)行縮放。(4) 圖片旋轉(zhuǎn)模塊:包括“左旋轉(zhuǎn)”“右選擇”功能,每次旋轉(zhuǎn)90度。3.2 模塊說(shuō)明模塊的框圖如下:四、核心代碼及其說(shuō)明using system;/using system.linq;using system.collections.generic;using system.componentmodel;using system.data;using system.drawing;using system.text;using system.windows.forms;
11、using system.collections;using system.io;using system.drawing.imaging;namespace picturebrowser1 public partial class form1 : form private string dirpath;/文件所在文件夾路徑 private arraylist fileindir;/用arraylist存儲(chǔ)文件夾中圖片文件 private int index;/圖片文件索引,用以實(shí)現(xiàn)上一張、下一張瀏覽 private string curfile;/當(dāng)前文件夾路徑 private bitmap
12、 curbmp;/當(dāng)前文件夾位圖 public form1() initializecomponent(); panel2.autoscroll = true; /文件打開(kāi)函數(shù) private void open()if(this.openfiledialog1.showdialog() =dialogresult.ok)if(this.picturebox1.image != null)this.picturebox1.image.dispose();this.picturebox1.image = null;string filename = this.openfiledialog1.fi
13、lename;trycurfile = filename;curbmp = new bitmap(curfile);this.picturebox1.image = curbmp;displayimage();dirpath = filename.substring(0,filename.lastindexof();system.io.directoryinfo dirinfo = new system.io.directoryinfo(dirpath);system.io.fileinfo fileinfo = dirinfo.getfiles();fileindir = new array
14、list();if(fileindir.count 0) fileindir.clear();foreach(fileinfo fi in fileinfo)if(fi.extension = .jpg | fi.extension = .jpg | fi.extension = .jpeg | fi.extension = .tif | fi.extension = .png | fi.extension = .bmp | fi.extension = .bmp | fi.extension = .gif | fi.extension = .gif)fileindir.add(fi.full
15、name.tostring();for(index = 0;index fileindir.count;index+)if(fileindirindex.tostring() = filename)break;catch(exception excep)console.writeline(excep);messagebox.show(請(qǐng)選擇后綴名為”jpg/png/jpeg/gif/tif/bmp”的圖片!, 溫馨提醒!);elsemessagebox.show(請(qǐng)先選擇一張圖片!, 溫馨提醒!); /文件關(guān)閉函數(shù)private void close()if(this.picturebox1.
16、image != null) this.picturebox1.image.dispose();this.picturebox1.image = null;curfile = ;curbmp = null; /下一張private void next()tryif(index = fileindir.count - 1)messagebox.show(這已經(jīng)是最后一張了., 溫馨提醒!);elsethis.picturebox1.image.dispose();curfile = fileindir+index.tostring();curbmp = new bitmap(curfile);t
17、his.picturebox1.image = curbmp;displayimage();catch (nullreferenceexception)messagebox.show(請(qǐng)先打開(kāi)一張圖片!, 溫馨提醒!);/上一張private void previous() try if (index = 0) messagebox.show(這已經(jīng)是第一張了., 溫馨提醒!);elsethis.picturebox1.image.dispose();curfile = fileindir-index.tostring();curbmp = new bitmap(curfile);this.p
18、icturebox1.image = curbmp;displayimage();catch (nullreferenceexception)messagebox.show(請(qǐng)先打開(kāi)一張圖片!, 溫馨提醒!); /放大函數(shù)private void max()tryint w = (int)(this.picturebox1.image.width * 1.1);int h = (int)(this.picturebox1.image.height * 1.1);bitmap bmpo = curbmp;bitmap bmpn = new bitmap(w, h);graphics g = gr
19、aphics.fromimage(bmpn); g.drawimage(bmpo,new rectangle(0, 0, w, h),new rectangle(0, 0, bmpo.width, bmpo.height), graphicsunit.pixel);g.dispose();curbmp = bmpn;this.picturebox1.image.dispose();this.picturebox1.image = curbmp;displayimage();catch(nullreferenceexception)messagebox.show(請(qǐng)先打開(kāi)一張圖片!, 溫馨提醒!
20、); 縮小函數(shù)private void min()tryint w = (int)(this.picturebox1.image.width * 0.9);int h = (int)(this.picturebox1.image.height * 0.9);bitmap bmpo = curbmp;bitmap bmpn = new bitmap(w, h);graphics g = graphics.fromimage(bmpn); g.drawimage(bmpo, new rectangle(0, 0, w, h), new rectangle(0, 0, bmpo.width, bmp
21、o.height), graphicsunit.pixel);g.dispose();curbmp = bmpn;this.picturebox1.image.dispose();this.picturebox1.image = curbmp;displayimage();catch(nullreferenceexception)messagebox.show(請(qǐng)先打開(kāi)一張圖片!, 溫馨提醒!);/左旋轉(zhuǎn)private void left()trybitmap originalbitmap = curbmp;int rotationangle = 270;int newwidth = orig
22、inalbitmap.height;int newheight = originalbitmap.width;bitmap rotatedbitmap = new bitmap(newwidth, newheight);#if allow_unsafe_codeinternalrotateimage(rotationangle, originalbitmap, rotatedbitmap);#elseinternalrotateimage(rotationangle, originalbitmap, rotatedbitmap);#endifthis.picturebox1.image = r
23、otatedbitmap;curbmp = rotatedbitmap;displayimage();catch(nullreferenceexception)messagebox.show(請(qǐng)先打開(kāi)一張圖片!, 溫馨提醒!);/右旋轉(zhuǎn)private void right()trybitmap originalbitmap = curbmp;int rotationangle = 90;int newwidth = originalbitmap.height;int newheight = originalbitmap.width;bitmap rotatedbitmap = new bitm
24、ap(newwidth, newheight);#if allow_unsafe_codeinternalrotateimage(rotationangle, originalbitmap, rotatedbitmap);#elseinternalrotateimage(rotationangle, originalbitmap, rotatedbitmap);#endifthis.picturebox1.image = rotatedbitmap;curbmp = rotatedbitmap;displayimage();catch(nullreferenceexception)messag
25、ebox.show(請(qǐng)先打開(kāi)一張圖片!, 溫馨提醒!);/調(diào)用函數(shù),實(shí)現(xiàn)圖片旋轉(zhuǎn)#if allow_unsafe_codeprivate static void internalrotateimage(int rotationangle, bitmap originabitmap, bitmap rotatedbitmap)int newwidth = rotatedbitmap.width;int newheight = rotatedbitmap.height; int orignalwidth = orignalbitmap.width;int orignalheigth = orign
26、albitmap.heigth;int newwidthminusone = newwidth-1;int newheightminusone = newheight-1;bitmapdata originaldata = originalbitmap.lockbits(new rectangle(0,0,originalwidth, originalheight), imagelockmode.readonly, pixelformat32bpprgb);bitmapdata rotateddata = rotatedbitmap.lockbits(new rectangle(0,0,rot
27、atedbitmap.width, rotatedbitmap.height),imagelockmode.writeonly,pixelformat.format32bpprgb);unsafeint* originalpoiner = (int*)orignaldata.scan0.topointer();int* rotatedpointer = (int*)rotateddata.scan0.topointer();switch(rotationangle)case 90:for(int y = 0; y originalheight; +y)int destinationx = ne
28、wwidthminusone - y;for (int x =0; x originalwidth; +x)int sourceposition = (x+y * originalwidth);int destinationy = x;int destinationposition = (destinationx + detinationy * nowwidth);rotatedpointordestinationposition = originalpointorsourceposition;break;case 270:for (int y=0; y originalheight; +y)
29、int destinationx = y;for (int x = 0; x originalwidth; +x)int sourceposition = (x+y*originalwidth);int destinationy = newheightminusone - x;int destinationposition = (destinationx + destinationy * newwidth);rotatedpointerdestinationposition = originalpointorsourceposition;break;originalbitmap.unlockb
30、its(originaldata);rotatedbitmap.unlockbits(rotateddata);#else/圖片選擇實(shí)現(xiàn)函數(shù)private static void internalrotateimage(int rotationangle, bitmap originalbitmap, bitmap rotatedbitmap) int rotatedwidthminusone = rotatedbitmap.width - 1; int rotatedheightminusone = rotatedbitmap.height - 1; int originalwidth =
31、originalbitmap.width; int originalheight = originalbitmap.height; switch (rotationangle) case 90: for (int y = 0; y originalheight; +y) for (int x = 0; x originalwidth; +x) rotatedbitmap.setpixel(rotatedwidthminusone - y, x, originalbitmap.getpixel(x, y); break; case 270: for (int y = 0; y originalh
32、eight; +y) for (int x = 0; x originalwidth; +x) rotatedbitmap.setpixel(y, rotatedheightminusone - x, originalbitmap.getpixel(x, y); break; #endif /圖片刪除private void delete()dialogresult dlgresult = messagebox.show(您確定要?jiǎng)h除此圖片?, 信息提示, messageboxbuttons.okcancel, messageboxicon.question, messageboxdefaul
33、tbutton.button1);if(dlgresult = dialogresult.ok)file.delete(fileindirindex.tostring();fileindirindex = fileindir+index;curfile = fileindirindex.tostring();curbmp = new bitmap(curfile);this.picturebox1.image = curbmp; /圖片顯示自定義private void displayimage()this.picturebox1.height = curbmp.height;this.pic
34、turebox1.width = curbmp.width;picturebox1.sizemode = pictureboxsizemode.stretchimage;if (picturebox1.width panel2.width)picturebox1.left = (panel2.width - picturebox1.width)/2;elsepicturebox1.left = 0;if (picturebox1.height panel2.height)picturebox1.top = (panel2.height - (picturebox1.height)/2);els
35、epicturebox1.top = 0;點(diǎn)擊界面中的各個(gè)按鈕(如打開(kāi)、上一張、下一張等),將下面對(duì)應(yīng)的程序輸入進(jìn)去。 private void button1_click(object sender, eventargs e) open(); private void button2_click(object sender, eventargs e) previous(); private void button3_click(object sender, eventargs e) next(); private void button4_click(object sender, event
36、args e) delete(); private void button5_click(object sender, eventargs e) max(); private void button6_click(object sender, eventargs e) min(); private void button7_click(object sender, eventargs e) right(); private void button8_click(object sender, eventargs e) left(); private void button9_click(object sender, eventargs e) close(); 五、程序運(yùn)行及測(cè)試5.1 運(yùn)行
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二年級(jí)上冊(cè)數(shù)學(xué)教案-角的初步認(rèn)識(shí) (6)-西師大版
- 2025年寵物領(lǐng)養(yǎng)合同模板電子版
- 三年級(jí)下冊(cè)數(shù)學(xué)教案-1.1 兩位數(shù)乘整十?dāng)?shù)的口算-蘇教版
- 薪酬培訓(xùn)服務(wù)協(xié)議書(shū)(2篇)
- 2023年生麻生產(chǎn)投資申請(qǐng)報(bào)告
- 2024年局域網(wǎng)安全系統(tǒng)項(xiàng)目資金申請(qǐng)報(bào)告
- 2025年惠州城市職業(yè)學(xué)院?jiǎn)握新殬I(yè)傾向性測(cè)試題庫(kù)學(xué)生專(zhuān)用
- 2025年廣東省安全員B證考試題庫(kù)及答案
- 2025年湖北省咸寧市單招職業(yè)傾向性測(cè)試題庫(kù)一套
- 二零二五年度煤炭開(kāi)采居間合同與智能化礦山建設(shè)協(xié)議
- 牙周牙髓聯(lián)合病變治療
- 機(jī)場(chǎng)食品配送應(yīng)急處理方案
- 醫(yī)院培訓(xùn)課件:《黃帝內(nèi)針臨床運(yùn)用》
- 語(yǔ)文新課標(biāo)“整本書(shū)閱讀”深度解讀及案例
- 地質(zhì)隊(duì)安全培訓(xùn)
- 2024至2030年中國(guó)毛絨玩具數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 建筑復(fù)工復(fù)產(chǎn)安全培訓(xùn)
- GB 21258-2024燃煤發(fā)電機(jī)組單位產(chǎn)品能源消耗限額
- 八年級(jí)上學(xué)期語(yǔ)文12月月考試卷
- 醛固酮增多癥與原發(fā)性醛固酮增多癥概述
- 廣東省2024年普通高中學(xué)業(yè)水平合格性考試語(yǔ)文仿真模擬卷01(解析版)
評(píng)論
0/150
提交評(píng)論