• <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 
             
            久久综合综合久久综合| 久久久网中文字幕| 久久精品www人人爽人人| 久久人爽人人爽人人片AV| 狼狼综合久久久久综合网| 乱亲女H秽乱长久久久| 久久无码av三级| 欧美精品国产综合久久| 色妞色综合久久夜夜| 四虎国产精品免费久久5151| 欧美久久天天综合香蕉伊| 亚洲中文字幕无码久久综合网 | 人人狠狠综合久久88成人| 亚洲国产精品久久久久婷婷软件 | 国产∨亚洲V天堂无码久久久| 丰满少妇人妻久久久久久4| 亚洲第一永久AV网站久久精品男人的天堂AV | 色偷偷888欧美精品久久久| 久久久久婷婷| 精品久久香蕉国产线看观看亚洲 | 一级A毛片免费观看久久精品| 蜜臀av性久久久久蜜臀aⅴ麻豆| 国产农村妇女毛片精品久久| 久久午夜无码鲁丝片秋霞| 久久国产香蕉视频| 久久综合中文字幕| 久久精品a亚洲国产v高清不卡| 亚洲美日韩Av中文字幕无码久久久妻妇 | 国产99久久久国产精品~~牛| 亚洲AV日韩AV天堂久久| 亚洲精品第一综合99久久| 精品国产青草久久久久福利| 狠狠色丁香婷婷综合久久来| 久久精品蜜芽亚洲国产AV| 亚洲天堂久久久| 99久久这里只精品国产免费| 日本亚洲色大成网站WWW久久| 久久精品国产WWW456C0M| 精品久久人人爽天天玩人人妻| 一级做a爰片久久毛片人呢| av无码久久久久不卡免费网站 |