• <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 亨德列克 閱讀(156) | 評論 (0)編輯 收藏
             
            1. 構架的目的是為了解決問題,而不是“構架”;即我們是為了解決問題而做的構架,而不是為了構架而做的構架

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

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

            posted @ 2008-06-05 17:32 亨德列克 閱讀(125) | 評論 (0)編輯 收藏
             
            最近有點癡迷用ASP.NET做網站,于是就動手學著寫一點
            感想還是蠻多的,最大的一個感覺就是,很白癡。基本上按照人的思路,去寫代碼就行了,跟自然語言也差不多。感覺很爽,可是總覺得代碼很惡心,少了點編程的樂趣
            posted @ 2008-04-12 20:56 亨德列克 閱讀(170) | 評論 (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 亨德列克 閱讀(2806) | 評論 (2)編輯 收藏
            僅列出標題
            共2頁: 1 2 
             
            久久国产精品二国产精品| 美女久久久久久| 久久国产精品成人片免费| 精品久久久久香蕉网| 99久久99久久久精品齐齐| 99久久精品费精品国产 | 午夜精品久久久久久影视riav| 国产成人精品久久一区二区三区av | 婷婷久久精品国产| www性久久久com| 久久精品人人做人人爽电影 | 精品免费tv久久久久久久| 久久久久国产一级毛片高清板| 亚洲国产另类久久久精品黑人 | 亚洲国产精品无码久久久秋霞2| 国产精品久久自在自线观看| 久久午夜无码鲁丝片秋霞| 精品久久久久久国产牛牛app| 久久久久人妻一区精品色| 久久精品无码一区二区日韩AV| 国产亚洲欧美精品久久久| 久久精品一本到99热免费| 亚洲午夜福利精品久久| 亚洲午夜久久久| 久久狠狠高潮亚洲精品| 丰满少妇人妻久久久久久| 91精品国产91热久久久久福利| 狠色狠色狠狠色综合久久| 久久精品国产一区二区三区| 久久精品免费网站网| 亚洲女久久久噜噜噜熟女| 久久91精品久久91综合| 久久人人爽人人爽人人片av麻烦| 中文无码久久精品| 天天综合久久久网| 久久天天躁狠狠躁夜夜96流白浆| 久久久91精品国产一区二区三区| 亚洲国产成人乱码精品女人久久久不卡 | 香蕉99久久国产综合精品宅男自 | 99久久夜色精品国产网站| 狠狠久久亚洲欧美专区|