日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

我的程序员之路(3)——学生时代(3)

發布時間:2024/1/1 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 我的程序员之路(3)——学生时代(3) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我的大學——入行期(2)

?

????? 2009年6年,導師要我做一個照相的程序。借來了相機,佳能的,于是先從相機的API入手,研究程序對相機的操作,都是一些英文資料,還得備好驅動,很是麻煩。慢慢對相機操作熟悉了,再根據習慣對API進行相應的封裝,這提高可不少。照相的程序做好了,新的要求就出來了,要求可以自動將相片處理成公安部確定的尺寸,358*441像素,頭頂到相片頂端的距離14-21等等,好的是公司以前開發過這個功能,直接拿到動態庫就可以使用。不過沒那么容易,如果接口設計成傳入原始相片返回標準照片就好了,可實際上不可能這么設計,傳入照片數據及照片尺寸,返回剪切位置及剪切尺寸,然后要根據這些信息從原始照片上剪切出來并縮小到標準尺寸,剪切位置還不是起點坐標,總之很是麻煩,研究了很長時間,以至于剛開始我還以為這個動態庫根本實現不了這個功能。期間研究CBitmap,位數、數據對齊等,提取位圖數據修改再重設位圖,研究.bmp數據格式,封裝類用于讀寫.bmp圖片文件,學到了不少東西。還有圖像處理方面的理論與算法,比如圖像幾何變換、灰度變換、平滑處理、圖像銳化、邊緣提取等好多算法,jpg格式的算法(不過現在還不會做自己的格式轉換,傅立葉變換什么的,都是這個時候學的),gif和png格式,所以壓縮算法也接觸了點。這段時間學的很我圖像處理方面的知識,現在工作中都用上了,比如用GDI+處理的圖像,發現速度太慢,應用受到影響,只能用GDI手動處理圖像來提高速度,再不行就得代碼操作圖像數據,然后生成圖像顯示到窗口了,計算機圖形學上那個直線生成算法什么的,就在這里用了。

????? 學圖像處理理論,對畢業論文有很大幫助。我的畢業論文是《基于密度的聚類算法研究》,是將灰度閾值分割理論用在了聚類算法上,DBSCAN算法,只能處理密度相關較大的數據,而且聚類前要輸入參數,先用閾值分割理論對數據的密度進行一下分類,再用DBSCAN算法聚類就提高了聚類效果,這個我也用代碼實現了,而且效果與理論上的效果很接近,收獲很多。

????? 可以從相機采集到照片了,也會圖像處理了,下一步就是軟件設計了。先是將兩個功能設計在一塊,同事說這樣設計不合理,應該要按功能模塊分開,所以又分成兩個主程序,一是人像采集,一是人像處理,兩個程序間可以切換。圖像處理時的功能相對多些,所以要設計工具欄、浮動工具欄什么的,學會了不少東西。導師看到設計成這樣,也說界面太難看,要加入美工。加美工得先總結對話框,對每個對話框設計窗體,所以另個組的項目經理幫忙總結,這樣,又設計了一款多個對話框的系統。幫完這些也該過新年了,新年后繼續設計。美工說這么設計不好,所以跟美工交流,美工想辦法設計,又將多個功能做成選項卡形式的,界面的設計我聽美工的。美工設計好整體外觀圖,我再把圖片按各個元素剪下來以在軟件中使用。既然有美工,就得考慮換皮膚的問題。網上查了些資料,皮膚包有現成的包。別人的東西總不如自己設計的方便,網上的皮膚包只能把所有對話框成一種樣式,不能一個對話框一個樣式,沒法在自己的軟件中使用。于是考慮皮膚的設計問題,而且最重要的是,接口要設計的很容易使用,最好一句調用包整個軟件的皮膚都換掉。千辛萬苦,終于設計出來了,現在是把所有皮膚元素都放在一個文件夾下,那如果用戶不小心刪掉了一個圖片文件,這會影響到軟件的,所以要把皮膚包打包,意味著要把一個文件夾下的所有文件夾及文件打包成一個文件,而且根據這個文件還能還原成文件夾及文件,實現這個功能學習又進步不少,現在的工作中也用到這些知識了。程序運行起來,根據皮膚包文件還原為文件夾形式的皮膚包,這有個問題,公司美工做的圖片會泄露啊,要保護自己公司的勞動成果吧,所以要讓程序在內存中解包。皮膚包完了還有語言包,當然皮膚包的問題解決了,語言包的問題也能解決,這個是一樣的,只是要用語言包,就要為每一個顯示文字的地方編號,切換語言時要根據編號顯示相應的文本。美工的提議,窗口邊緣最好做成半透明的,選項卡形式的子窗口半透明沒問題,背景圖片處理好就能實現,要顯示在桌面上的半透明效果就麻煩了,要有相應的動態庫支持,而且窗體半透明時窗體上的控件是顯示不出來的。為了解決這個問題,查了不少資料,最后是做成了兩層,半透明窗體是一個對話框,控件是另一個對話框,窗體移動時兩個對話框要同時移動。皮膚包語言包也會受到影響,因為半透明的窗體只能根據圖片生成,而窗體標題上的文本要可切換,窗體背景圖片也可切換,所以軟件的設計上又費了一番工夫。不管難度有多大,最后所以問題都解決了,做成了一個完整的獎品,完成作品時,就到畢業時候了。長春離家太遠了,所以畢業后我來到了北京,來這里見見世面,因為找到一個像我一樣熱愛寫程序的太少了。

????? 以上這些都是在公司實習時做的,由于我很愛好寫代碼,所以也有自己的愛好,這期間,也幫同學寫過一些程序,比如2009年7月8月,幫同學做過個歌唱比賽的評分系統。這個要有客戶端服務器,由于寫過聊天軟件,所以寫起這個來也很順手。但要解決的問題也很多,比如客戶端網線掉了又連上怎么辦,總不能讓服務器重啟吧,而且客戶端網線掉了服務器要知道該客戶端掉線了,畢竟評委都是電腦盲,他們可能壓根不知道他已經掉線了。一個小組的評分完成要生成結果,結果是要生成圖片的,這樣就可以直接顯示在大屏幕上了,不然就得現做Word表格了,再說時間也不允許啊,評分結果要很快顯示在大屏幕上的;還有另一個要求,就是一個選手唱完歌,下一個選手上臺前就要出結果,唉,幸虧是電腦計分,不然可做不到。

????? 想到什么程序,我也會去實現的,比如外掛,QQ俄羅斯方塊、QQ連連看、QQ找茬、QQ掃地雷等小游戲的外掛。寫的最好的就是QQ連連看外掛了,點一下按鈕就會消一對,或者點一下按鈕全消光光,C#寫過,C++也寫,用C#時只能模擬鼠標或鍵盤給窗體發送消息,但這樣必須是游戲窗口有焦點;C++寫就可以給窗體發送消息了,很方便,不過QQ俄羅斯的鍵盤消息不好使,研究了很長時間也不知道騰訊的火拼俄羅斯怎么處理的鍵盤消息。當然,寫游戲外掛也不是一帆風順,剛開始的外掛是獲取屏幕顏色來處理的,后來會遍歷窗口了就通過遍歷窗口來找到游戲窗口,再獲取游戲窗口上的相應區域的圖片,根據圖片上的顏色值處理數據計算需要什么樣的操作,通過發送消息操作游戲。這些是很機械的外掛,像農場種地那種游戲的外掛,就不知道如何下手了;來到北京的確學會了不少東西,至少會應用程序與Web服務器的通信了,所以就可以寫農場種菜游戲的外掛了,有WebQQ也可以做個可以與騰訊的QQ聊天的程序了,或者做個聊天機器人,不過這些都是畢業后學會的了。

????? 學生時代結束了,但我還要在程序員這條路上繼續走下去。

?

?

?

作者:yjh4866

源地址:http://blog.csdn.net/yjh4866

總結

以上是生活随笔為你收集整理的我的程序员之路(3)——学生时代(3)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。