• <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>

            不管構圖如何,單來看硬傷:
            1。曝光不準確
            2。片子太肉

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

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

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

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

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

            在GDI+的設計中,IMAGE本來就是分頁、分幀的;可以說,GDI+的IMAGE的設計,本身就是考慮到了幾乎目前所有主流圖片格式的共性而設計出來的。廢話不多說,貼上代碼,看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+中預定義的一個GIG屬性ID值,表示標簽幀數據的延遲時間
                UINT TotalBuffer = m_pImage->GetPropertyItemSize(PropertyTagFrameDelay);
                m_pItem = (PropertyItem*)malloc(TotalBuffer);
                m_pImage->GetPropertyItem(PropertyTagFrameDelay,TotalBuffer,m_pItem);
            }

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

            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 亨德列克 閱讀(2800) | 評論 (2)編輯 收藏
            僅列出標題
            共2頁: 1 2 
             
            青青青青久久精品国产| 99精品国产99久久久久久97| 久久久久亚洲av无码专区| 777久久精品一区二区三区无码| 久久99国产精品久久99| 中文字幕精品无码久久久久久3D日动漫| 国产激情久久久久影院| 国内精品九九久久精品| MM131亚洲国产美女久久| 中文成人久久久久影院免费观看| 久久久精品日本一区二区三区| 久久久久久久久久久久久久| 久久婷婷人人澡人人| 国产精品成人99久久久久91gav| 精品久久久久久99人妻| WWW婷婷AV久久久影片| 手机看片久久高清国产日韩 | 国产无套内射久久久国产| 久久综合久久伊人| 久久se精品一区二区| 久久久久国产精品嫩草影院| 国产叼嘿久久精品久久| 久久综合88熟人妻| 精品久久8x国产免费观看| 色婷婷噜噜久久国产精品12p| 久久丫精品国产亚洲av| 久久婷婷是五月综合色狠狠| 国产成人综合久久精品红| 久久精品国产一区二区电影| 国产麻豆精品久久一二三| 久久精品人人做人人爽电影| 久久高潮一级毛片免费| 99久久精品这里只有精品| 久久99精品国产| 国产99久久久国产精免费| 久久综合中文字幕| 久久最近最新中文字幕大全 | 久久国产免费直播| 四虎影视久久久免费观看| 久久一区二区三区99| 亚洲Av无码国产情品久久|