官术网_书友最值得收藏!

向南,我的第一份碼農工作

1997年7月中旬,我踏上了南去的火車。沒有留在北京,也沒有回到父親所在的國企。大學里的成就和信心在此時蕩然無存,第一次踏入社會,內心充滿了忐忑與不安。未來是什么顏色呢?

未來不是大海的藍色,讓人充滿幻想;未來也不是紅色的,讓你激情澎湃;未來是白色的,等著我繪上濃濃一筆。我穿著白色的短袖,來到廣東這個7月充滿白色陽光的地方,即使沒有太陽,在戶外也會汗流浹背。在當時,進國企或者政府機構,就是踏踏實實地等著從助理工程師轉為工程師,然后一步一步晉升。我進了一家美籍華人開的公司,第二天就被布置了一項試用期任務:對任意一個不規則多邊形進行漸變填充,開發環境VC,時間以兩周為限。雖然沒有直接說,但兩周完成不了的話,估計就要走人了,讓人多么不能平心靜氣。

雖然在最后畢業階段跟老趙同學借了本VC的書,翻過兩個星期,但在教研室上機也就實操過一次,還啥都沒干成。在配發的電腦上折騰半天,還不知道怎么開始。翻書吧,好歹公司VC++的書不少,至少知道怎么建立一個工程,可以運行案例程序。

找到CDC類(1),知道了填充矩形有FillRect和FillSolidRect函數,第一個函數填充矩形的顏色要靠設定畫刷來確定,可是只有一種顏色的畫刷,怎么畫漸變顏色?第二個函數直接填充顏色,顏色表示方式我還沒搞清楚。任意形狀怎么做?給一個坐標序列嗎?畫形狀跟填充有什么關系?我一邊翻著書,一邊在紙上畫著,希望能找出點兒思路,可是一點頭緒都沒有!

房間里沒有空調,晚上睡覺汗流浹背,抓了一只鉆進蚊帳的蚊子,關上燈后不知道從哪里又偷偷進來幾只,叮了我好幾個紅包,白天渾身發癢。我在想:我到底為什么非要跑來南方?在國企不是挺好嗎?這是何苦呢?如果試用任務完成不了,是否要打道回府?那多丟人!

總之,第一個星期,我迅速從興奮到焦躁,開始懷疑自己。但又有另外一個聲音:你不能輸,你沒有退路了!

事在人為。是的,事在人為。內困要求助于外交,第二天我去找老碼農溝通,他們建議我好好把CDC函數研究一遍。我先搞清楚了顏色表達式RGB,每一個參數分別用一個字節表示,0~255,所謂漸變也就是線性調節RGB中的一個或者多個參數,可是沒有這樣的畫刷啊。“π”,當看到這個字符時,想想祖沖之是怎么算圓周率的——通過盡量多的等邊多邊形來推算,因此我可以把矩形按高度或寬度拆分成很多個等寬矩形,對每個矩形按顏色線性循環進行填充。非常好,我非常興奮地解決了第一個矩形漸變填充的問題。可是怎么搞定多邊形呢?我又陷入了新的問題中,一時找不到解決辦法。Polygon只是解決了畫多邊形的問題,填充還是單色的。

到了VC這樣的集成開發環境下,只要不是算法問題,其他的所謂技術問題就是一層窗戶紙。老碼農看我一籌莫展,建議我再看看CDC類還有哪些可用的函數,會引用到哪些變量。天哪,竟然還有CRgn類——任意區域類,窗戶紙終于被捅破了。利用CRgn解決了任意多邊形的問題。此外ClipRgn這個函數可以限定不規則區域,即使你畫出邊界也不會顯示出來,確保不會次次都畫出矩形來。

碼農的第一份工作終于落地了,我認為畢業之后前三年的工作中,你能學習與掌握的知識和技能將會至少影響你五年,這是我的親身體會。我那三年一直保持著良好的分析代碼邏輯和做筆記的習慣,這讓我以后有條件吃了多年的老本!


(1)CDC類,是微軟MFC開發框架中的一個C++封裝類,主要面向輸出設備,提供基礎繪制函數。

主站蜘蛛池模板: 仁寿县| 太谷县| 冷水江市| 阜新| 武义县| 合川市| 桐城市| 灵寿县| 青神县| 磐安县| 南郑县| 余干县| 萝北县| 乌拉特中旗| 德格县| 北宁市| 沙洋县| 巨鹿县| 兴仁县| 延庆县| 建水县| 黄梅县| 鞍山市| 土默特左旗| 汪清县| 基隆市| 得荣县| 韶山市| 贵德县| 西丰县| 荥阳市| 中牟县| 玉龙| 大竹县| 平塘县| 东方市| 北海市| 体育| 樟树市| 永寿县| 云和县|