• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            不管構(gòu)圖如何,單來看硬傷:
            1。曝光不準(zhǔn)確
            2。片子太肉

            解決的方式為:
            1。多拍片,練習(xí)
            2。上個三腳架
            posted @ 2008-06-10 22:08 亨德列克 閱讀(151) | 評論 (0)編輯 收藏
             
            1. 構(gòu)架的目的是為了解決問題,而不是“構(gòu)架”;即我們是為了解決問題而做的構(gòu)架,而不是為了構(gòu)架而做的構(gòu)架

            2. 構(gòu)架是在思考如何解決問題的過程中,做出的一系列設(shè)計;這些設(shè)計可能考慮比較全面,可能不全面,可能擴(kuò)展性強(qiáng),也可能很弱;這些設(shè)計綜合起來,就是構(gòu)架;把他們文檔化,以自然語言、圖表的形式描述清楚,就是構(gòu)架文檔或者叫做設(shè)計文檔
            3. 在設(shè)計的過程中,可能會做一些實驗型的編碼甚至是實質(zhì)性的編碼,也可能不做;前者,可以認(rèn)為是一邊設(shè)計一邊編碼;后者可以認(rèn)為是純設(shè)計。個人認(rèn)為后者需要對代碼的極高駕馭能力,代碼存在于心中。至于前者,如果由開發(fā)人員來做,就是一邊構(gòu)架一邊編碼;若由設(shè)計人員來做,那就是等設(shè)計完以后,文檔化,開發(fā)人員照著寫。
            4. 對于3,后一種開發(fā)方式較傳統(tǒng),效率較低,但是協(xié)作、開發(fā)容易規(guī)范;前一種開發(fā)方式開發(fā)中容易走彎路,但是反復(fù)迭代、重構(gòu)(小范圍),開發(fā)效率較高,團(tuán)隊也較緊湊。所以,前者適合一般項目,后者適合大型項目。
            5. 對于3,前者是敏捷的,后者是傳統(tǒng)的。
            6. 這些文字是用來安慰自己的。
            posted @ 2008-06-05 18:15 亨德列克 閱讀(953) | 評論 (2)編輯 收藏
             

            以前的時候,總看到書上說構(gòu)架應(yīng)該怎樣怎樣,分幾步幾步,怎么做怎么做;可是寫了這么久程序,發(fā)現(xiàn)完全不是這么回事。隨著時間的推移,花在構(gòu)架上的時間越來越少,不知道是不是我退步了,唉

            posted @ 2008-06-05 17:32 亨德列克 閱讀(118) | 評論 (0)編輯 收藏
             
            最近有點癡迷用ASP.NET做網(wǎng)站,于是就動手學(xué)著寫一點
            感想還是蠻多的,最大的一個感覺就是,很白癡。基本上按照人的思路,去寫代碼就行了,跟自然語言也差不多。感覺很爽,可是總覺得代碼很惡心,少了點編程的樂趣
            posted @ 2008-04-12 20:56 亨德列克 閱讀(156) | 評論 (1)編輯 收藏
             

            作為GDI的升級版本的GDI+實在是個好東西,以前要播放GIF什么的,要引入其他輔助庫,或者自己寫GIF的讀取過程。不過有了GDI+,這些事情都不必再操心了。

            在GDI+的設(shè)計中,IMAGE本來就是分頁、分幀的;可以說,GDI+的IMAGE的設(shè)計,本身就是考慮到了幾乎目前所有主流圖片格式的共性而設(shè)計出來的。廢話不多說,貼上代碼,看GDI+是如何播放GIF的

            首先是GIF的載入:

            void CGIFControl::Load(LPCTSTR sFileName)
            {
                m_pImage = new Image(sFileName);
                UINT count = m_pImage->GetFrameDimensionsCount();
                m_pDimensionIDs =new GUID[count];
                m_pImage->GetFrameDimensionsList(m_pDimensionIDs, count);
                WCHAR strGuid[39];
                StringFromGUID2(m_pDimensionIDs[0], strGuid, 39);
                m_FrameCount = m_pImage->GetFrameCount(&m_pDimensionIDs[0]);

                //PropertyTagFrameDelay是GDI+中預(yù)定義的一個GIG屬性ID值,表示標(biāo)簽幀數(shù)據(jù)的延遲時間
                UINT TotalBuffer = m_pImage->GetPropertyItemSize(PropertyTagFrameDelay);
                m_pItem = (PropertyItem*)malloc(TotalBuffer);
                m_pImage->GetPropertyItem(PropertyTagFrameDelay,TotalBuffer,m_pItem);
            }

            接著給出播放的代碼,值得注意的是,播放我選擇了使用WM_TIMER消息,而不是像有些(還比較主流)開源的GIF播放庫那樣,單獨開一個線程來播放,主要是沒必要開線程,系統(tǒng)復(fù)雜度還高一些(個人意見)。需要注意的一點就是,繪制GIF幀之前,需要用SelectActiveFrame把那個幀設(shè)置為當(dāng)前繪制的幀。

            void CGIFControl::OnTimer(UINT_PTR nIDEvent)
            {
                KillTimer(nIDEvent);

                GUID Guid = FrameDimensionTime;
                m_pImage->SelectActiveFrame(&Guid,m_iCurrentFrame);

                SetTimer(1,((UINT*)m_pItem[0].value)[m_iCurrentFrame] * 10,NULL);

                m_iCurrentFrame = (++ m_iCurrentFrame) % m_FrameCount;
                Invalidate(FALSE);
            }

             

            繪制的代碼不多說了,地球人都知道

            Graphics g(lpDrawItemStruct->hDC);

                        DrawBorder(g);
                        CRect rcClient;
                        GetClientRect(&rcClient);

                        if(m_bBorderEnable)
                        {
                            rcClient.DeflateRect(m_iBorderLineWidth,m_iBorderLineWidth,m_iBorderLineWidth,m_iBorderLineWidth);
                        }

                        g.DrawImage(m_pImage,rcClient.left,rcClient.top,rcClient.Width(),rcClient.Height());

             

            好了,就這么多。

            posted @ 2008-03-29 15:32 亨德列克 閱讀(2794) | 評論 (2)編輯 收藏
            僅列出標(biāo)題
            共2頁: 1 2 
             
            久久精品国产91久久综合麻豆自制 | 久久国产午夜精品一区二区三区| 国产精品欧美久久久天天影视| 久久有码中文字幕| 无码八A片人妻少妇久久| 麻豆av久久av盛宴av| 97精品伊人久久大香线蕉app| 久久精品一区二区国产| 欧美激情精品久久久久久久九九九| 亚洲精品无码久久千人斩| 亚洲嫩草影院久久精品| 久久久久久久久波多野高潮| 国产精品99久久精品| 久久99国产精品久久99小说| 久久久久久综合一区中文字幕| 热99RE久久精品这里都是精品免费 | 99久久免费国产精品特黄| 国内精品久久久久久久97牛牛| 国产精品美女久久久久AV福利| 日本欧美久久久久免费播放网| 久久夜色撩人精品国产| 久久福利青草精品资源站| 国内高清久久久久久| 久久久久国产亚洲AV麻豆| 91久久精品91久久性色| 久久久久青草线蕉综合超碰| 久久久久亚洲AV综合波多野结衣| 久久99国产综合精品女同| 久久精品国产亚洲AV影院| 久久久久综合中文字幕 | 久久精品国产网红主播| 人妻无码精品久久亚瑟影视| 香蕉99久久国产综合精品宅男自| 国产福利电影一区二区三区久久久久成人精品综合 | 97精品国产97久久久久久免费| 无码人妻久久一区二区三区蜜桃| 精品久久久久久无码中文字幕| 99久久精品免费观看国产| 91精品国产91久久久久久蜜臀| 精品久久一区二区| 久久精品国内一区二区三区|