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

            使用wxWidget中遇到的圖片存儲問題一二

            1. 實驗室中CCD的實際色階為14位,獲取的原始圖像數(shù)據(jù)的每個值都存儲在一個字中,即存儲色階16位,也就是說最高兩位的數(shù)據(jù)一直為0,同時獲取的圖片信息僅僅是16色階的灰度圖,而采用wxWidget沒有辦法直接將16位的數(shù)值串保存為圖片格式,如tiff格式,那么如何將16位的數(shù)值串以圖片的形式進行保存呢?

                經過這么幾天的折騰總算是找到了一條解決的途徑,就是將16位的數(shù)值串轉化為8為的數(shù)值串,也許你會很快的想到這么一個方法,nValue*max(uint8)/max(uint16);用來表示轉化后的數(shù)值,不夠還是得考慮一下CCD的實際色階,由于是14位,因此可以采用這樣的方式nValue*max(uint8)/max(uint14);不過由于我們對于圖片的處理是直接對圖片的原始數(shù)據(jù)進行處理,而轉化只是圖片在顯示屏上顯示的前提步驟,采用上述的方式雖然能夠相對很準確的進行轉化,但是需要花費一定的計算量,而通過近似的轉化能夠更快的進行這個轉化過程,同時獲取得到的圖片依然具有較好的清晰度,下面細說一下我采用的方法:

               1: unsigned short nPicData16 = new unsigned short[nBufSize];   // nBufSize is the size to store pic
               2:  
               3: // to get the nPicData16
               4: // ..................
               5: // get the nPicData16
               6:  
               7: char *pcPicData8 = new char[nBufSize];
               8: for (size_t i = 0; i < nBufSize; ++i) {
               9:   pcPicData8[i] = (char)(nPicData16>>6);
              10: }
              11:  
              12:  

            由于2^6在2^14中所占的比例較小因此可以采用這樣的近似的方法。(這種方法具體有什么作用或是缺陷還沒有細究,請各位看官給點看法

            2. 順利將14位數(shù)值串轉化成為8為數(shù)值串后,嘗試的使用下列方式進行圖片保存,發(fā)現(xiàn)結果一片黑,數(shù)值都為0了:

               1: // 結果發(fā)現(xiàn)存儲得到的save.bmp圖是24b的
               2: wxBitmap bitmap(pcPicData8,1392,1040,8);
               3: bitmap.SaveFile(wxT("save.bmp"),wxBITMAP_TYPE_BMP);
               4:  

            因此猜想wxWidget對直接獲取的數(shù)據(jù)串進行保存時采用的rgb的模式進行保存,可能只會保存為24字節(jié)格式的圖片,也就是想要將圖片顯示到屏幕上時,也應該采用24b的圖片。不過wxWidget對于圖片數(shù)據(jù)卻能夠讀取8位的圖片,但是再次采用上述的方式進行存儲時,變成了32字節(jié)的了,(各位大蝦知不知道有沒有方法能夠直接保存8位圖的呢)。

            于是采用了將這個8位的數(shù)值串分別賦值給R,G,B,用這種方式實現(xiàn)灰度圖的創(chuàng)建,然后再進行保存,最終解決了問題。

               1: unsigned char *rgbData = new unsigned char[1392*1040*3];
               2: unsigned char *ptr1 = (unsigned char*) pcPicData8;
               3: unsigned char *ptr2 = rgbData;
               4: for (int i = 0; i < 1392*1040; ++i) {
               5:     *ptr2++ = *ptr1;   
               6:     *ptr2++ = *ptr1;
               7:     *ptr2++ = *ptr1++;
               8: }
               9: wxImage myImage(1392,1040,rgbData);
              10: myImage.SaveFile(wxT("save.bmp"),wxBITMAP_TYPE_BMP);

            posted @ 2012-06-26 17:51 鐘謝偉 閱讀(1946) | 評論 (12)編輯 收藏

            從自己的角度來看人生路

            從89年到現(xiàn)在,將近23個春秋了,人生的近三分之一已沒入了歷史的河流中,仿佛一顆塵埃掉入河中,泛不起一絲漣漪。這僅僅是一種不真實的感受,電影《蝴蝶效應》中講述的就與此相反,過去那看似微末的行為,隨著時間的流逝,卻會被逐漸放大,帶來預料之外的影響,但是通過比較,才能清楚的認清,變化的大小,而目前時間流淌的不可逆性,使得這樣的情景注定只能夠在熒屏上展現(xiàn),在腦海中空旋。
            再向前邁出兩步就成為大學畢業(yè)的人了,四年的大學生涯也將隨著落幕的鐘聲逐漸遠去。但是,我覺得這四年中,我不是一個合格的掌舵人,只是順應著波浪,一路中,風平浪靜,就仿佛麥哲倫在從南美到菲律賓三個月的航行中,沒有遇到一次波浪,算是一種運氣吧。四年大學生涯的結束帶給我的沒有不舍,沒有對未來更美好的憧憬,只有對于自己人生路途的茫然,而在武漢更能體會到內外茫然的同步效應^^。
            小學6年,初中3年,高中3年,大學4年,隨著教育的深入,仿佛感到自己正被某種莫名的東西慢慢的同化著、侵蝕著,從最初的活躍慢慢過度到了淡然的狀態(tài)。這個深入學習的過程仿佛擁有著難以拒絕的“魔力”,不斷的誘惑著你,慢慢的迷失了自己。
            也許是深受中國古代教育模式的影響,目前雖然在推廣以學生為主導,減負等措施,但是終究如晚霞般,慢慢的消失,隨之而來的便是無盡的黑暗。難,改正一個習慣難,這是總所周知的,因此想要對歷史積淀下來的東西進行改變更不是輕而易舉的事情。這里并未有批判填鴨式、以課本為主的教育模式,想古代文人主要學習的書籍就那么基本,反復看的也就那么基本,在死記之后仍會不斷地進行摸索、不斷的溫習,而后便會帶來了悟,轉化為自己的東西,而現(xiàn)在呢,知識的量相比較而言不知增加了多少倍,同時知識的更新速度更是猛躥。死記了一部分知識,來未等有足夠的時間將其消化,便掩埋在了新知識或是舊的不同的知識的沙泥中,忘記便是必然的事情。而學無所獲的結果,更會促使內心滋生厭學的心態(tài),惡性循環(huán)也成為大多數(shù)學生在經歷的一種狀態(tài),心累身累,不如放下,沉溺與游戲中,尋找有所成就的快感。
            同時有多少人是走著自己喜歡的道路,有多少人認清了自己想要走的道路呢?從兒時開始,由于自己的人生觀,世界觀沒有很好的形成,從而家長、老師就成了重要的指路人,但是有些家長,將自己的認知自己的理解,認為就是孩子所需要的,于是各種的培訓,各種的補習接踵而至,想讓孩子成為鄰里最出色的一名,相互的比較,用的便是各種的標簽,“學生干部”,“成績”,“獎狀”等等。但是往往忽略孩子對于新鮮的事物總是充滿這好奇,歡喜也許僅僅是一時的,但如果好好的引導,或許能夠成為一種喜好,強加的壓迫卻往往適得其反,就算是能夠獲取所謂的成功,孩子的心中深藏的也許是更深的苦,難言而又長久。
                高中步入大學前,首先需要選擇的是具體的專業(yè),但是哪個專業(yè)是你真的想要選擇的呢,家長老師開始從就業(yè)情況,大縱好評度不斷的給你分析,影響著你的選擇,然后聽從他們最終的判決,但是18歲,已經成年了的你們是否曾想過先充分認清楚自己的追求,然后進行選擇呢?也許是小學、初中、高中這么步步走來的影響,我們已經習慣了從書中,從老師的口中,從家長的言語中尋求所謂的標準答案,不知道如何通過自身去辨識屬于自己的方向,我們也慢慢失去了對于興趣和愛好的感覺,就算迎面相見,也不曾相識,插肩而過,便成陌路客。原來一直都是借口,借口對前路的未知,借口他人比自己更了解自己,借口在其他人身上存在自己想要的標準答案,就算是自己的父母,有多少能夠知道自己的孩子真正想要的是什么,他們的本意自然不壞,但是幫倒忙的可能也是存在的,并且不小。
                也許是失去了警覺性,在意識到危險降臨的時候,才會慌張,才會不知所措,才會瞎走瞎撞,后悔過后,依然一片晴朗。在沒認清自己喜歡干些什么的時候,進入了大學,進入了一個所謂喜歡、所謂很好的專業(yè),開始了大學生活。上著既定的課程,為了考試,打了興奮劑般的復習,仿佛這一切都是為了成績。一個流程的教學下來,對于悲喜的敏感性也越來越差,順應著大流忙碌著,上課,游戲,考試等等。就算是那些實驗性的課程也多是走走過場,便能輕松的通過。渾渾噩噩,只是不同的人,用不同的渾噩的方式,得到了不同的渾噩的結果,誰都不用羨慕誰,因為哪些所謂的牛人,也許也如你一般,并沒有行走在內心所要的道路上,只是披了一件華麗的外衣,掩藏了內心深處的傷痕。
            畢業(yè)之后會選擇擇業(yè)或是深造,很多都是無法離開現(xiàn)在既定的專業(yè)了,會想除了這,我還會些什么,是的,直到大學結束,我們有種思維正在根深蒂固,學到的知識能夠決定自己人生的方向。而這知識的選擇卻并非是自己所想要的,只是錯誤的延續(xù)了下去。往往會忘記,獲取知識的這種能力,因為沒有單位能夠給這種能力一個量化的指標,使得這種能力的擁有者也會在別人的反問中對自己產生越來越大的懷疑,這也是因為我們很少清楚的認識到它的存在,在實踐中主動的運用它,只是在一種迷糊的狀態(tài)下行動著,猶如霧里看花,除了朦朧還是朦朧,而后在錯誤中錯誤下去,到清醒之時已沒有勇氣去迎接真實的自己。把所有的固定的知識忘卻,剩下的就是屬于你的精華。知識是一種累積,一種沉淀,隨著慢慢的積累總會體現(xiàn)出它的重量,但是智慧是一種方法,一種思維,能夠使你懂得如何獲取知識,如何運用它們,如何創(chuàng)造出帶有自己鮮明特性的價值。
            一路之中還有很多東西在不斷的消失,還有勇氣,指出是非對錯的勇氣,給出自己見解的勇氣,承認錯誤的勇氣,大聲喊出愛的勇氣。也許你會說,現(xiàn)在學得應該是我喜歡的,你也是加了應該兩個字,說明內心之中有了動搖,而不夠穩(wěn)定堅固的地基之上是建造不出高樓大廈的。請先沉下心來深思,從過去,到現(xiàn)在,順便望一望未來,也許有種觸動會從內心深處蔓延開來。但是一旦確認了你的喜好,請鼓起勇氣,大聲的喊出自己的心聲,堅定不移的走下去。
            用一句也許不是很相關的話作為結語:
            如果愛,請深愛!!

            posted @ 2012-06-18 23:22 鐘謝偉 閱讀(1677) | 評論 (4)編輯 收藏

            繼承類中改變基類內public or protected屬性

               1: class Base
               2: {
               3: private:
               4:     int m_nValue;
               5:  
               6: public:
               7:     Base(int nValue)
               8:         : m_nValue(nValue)
               9:     {
              10:     }
              11:  
              12: protected:
              13:     void PrintValue() { cout << m_nValue; }
              14: };
              15:  
              16: class Derived: public Base
              17: {
              18: public:
              19:     Derived(int nValue)
              20:         : Base(nValue)
              21:     {
              22:     }
              23:  
              24:     // Base::PrintValue was inherited as protected, so the public has no access
              25:     // But we're changing it to public by declaring it in the public section
              26:     Base::PrintValue;
              27: };

            注意 Base::PrintValue; 該語句并沒有添加()

            posted @ 2012-06-12 10:12 鐘謝偉 閱讀(1459) | 評論 (3)編輯 收藏

            簡單的Int容器類

                 摘要: from http://www.learncpp.com/cpp-tutorial/104-container-classes/ 1: #ifndef INTARRAY_H 2: #define INTARRAY_H 3: 4: #include <assert.h> // for assert() 5: 6: class IntArray 7:...  閱讀全文

            posted @ 2012-06-08 21:44 鐘謝偉 閱讀(1196) | 評論 (0)編輯 收藏

            時間管理

            介紹一個簡單有效的時間管理方式,番茄工作法!!

            posted @ 2012-06-08 11:24 鐘謝偉 閱讀(116) | 評論 (0)編輯 收藏

            wxwidgets編程規(guī)范一二

            詳細內容參見:http://www.wxwidgets.org/develop/standard.htm

            以一個入門的新手來看,C++具有很大的靈活性,與技巧性,但是這些技巧性的東西可能帶來的是代碼可讀性的降低,效率的不穩(wěn)定,以及很多人對于C++的唾罵。本人理解,C++的靈活性是用來構建庫的,而在具體項目運用中是在類庫的一定限制規(guī)范下選擇合適的庫進行開發(fā),這樣開發(fā)效率和代碼的可讀性將大大提升。

            理解可能有誤,請拍板。

            在使用wxwidget庫編寫時,

            通常的C++規(guī)則(部分)

            1. 不使用C++模版

            2. 不使用C++異常

            3. 不使用RTTI

            4. 不使用命名空間

            5. 不使用STL

            6. 在for內部不進行變量的聲明

            7. 不使用嵌套類

            8. 不使用新的邏輯關鍵字(or,and,not等)

            9. 不使用全局變量

            10. 將warnings打開,并消除warnings

            11. 使用#if 0注釋代碼段

            12. 避免重載虛函數(shù)

            13. 避免使用額外的分號

             

            wxWedget規(guī)則

            1. 同一文件頭部

            /////////////////////////////////////////////////////////////////////////////
            // Name:        src/common/foo.cpp
            // Purpose:     Implementation of wxFoo
            // Author:      Your Name
            // Created:     2006-12-03
            // RCS-ID:      $Id: standard.htm 1562 2012-01-08 11:38:14Z VZ $
            // Copyright:   (c) 2006 wxWidgets development team
            // Licence:     wxWindows licence
            /////////////////////////////////////////////////////////////////////////////

            2. 用四個空格代替tab

            3. public 然后 protected 然后 private

            4. 使用wx作為公共符號

            5. 文檔中避免使用!

            posted @ 2012-06-04 19:45 鐘謝偉 閱讀(1320) | 評論 (0)編輯 收藏

            8.8 構造函數(shù)(2) [翻譯]

                 摘要: 原文 from www.learncpp.com/cpp-tutorial/88-constructors-part-ii/ 私有構造函數(shù) 偶爾,我們不想讓用戶在class外使用特殊的構造函數(shù)。為了實現(xiàn)這個想法,我們可以將構造函數(shù)設定為私有的。 1: class Book 2: { 3: private: 4: int m_nPages; 5: 6: ...  閱讀全文

            posted @ 2012-05-30 22:06 鐘謝偉 閱讀(1204) | 評論 (0)編輯 收藏

            寫點什么,雜言

            從開始學習C++到現(xiàn)在已經將近4年了,大一時上的課程就只講了和C語言處理相同的部分,最為關鍵的面向對象編程卻被無視了,接下去的兩年半的時間也沒有怎么接觸過這門語言,直到大三下的時候才有種想續(xù)前緣的沖動,到現(xiàn)在斷斷續(xù)續(xù)的學習,沒有什么項目,沒有什么任務,進度不是很大。
            也許作為新手的通病,經常會在大堆的書海中徘徊,看了這本,沒看多久,有人說另一本更好,又拿起那本從頭繼續(xù)開始看,這樣下來,只是在不斷的重復著,卻沒有前進,或是前進的步伐慢到一時半刻難以察覺的地步。
            現(xiàn)在通過寫博客來督促自己,堅持下去,總會出現(xiàn)奇跡。
            教程先緊抓一本,將其熟悉了再考慮是否繼續(xù)換一本,當然作為一門編程語言,實踐自然是必不可少的,看書之余,看看別人的代碼,構思一下即將要做的小項目,拿幾個問題練練手,如此才能更好的進步。

            posted @ 2012-05-29 22:18 鐘謝偉 閱讀(138) | 評論 (0)編輯 收藏

            錯誤處理

            編程中一般出現(xiàn)的錯誤有兩種:語法上的錯誤與語義上的錯誤,語法中的錯誤幾乎都能夠被編譯器識別出來,但是語義上的錯誤編譯器就無法識別,因此在編程的過程中應該時刻警惕語義錯誤的出現(xiàn)。

            在編程初始,我們可以事先編寫防錯的程序段,一般錯誤會出現(xiàn)在什么地方呢?

            1)函數(shù)調用時傳遞的參數(shù)的有效性

            2)函數(shù)的返回值可能隱含了錯誤發(fā)生的可能

            3)從用戶或文件中讀取的輸入導致的錯誤

            為了很好的避免這些錯誤,我們通常遵循如下的措施:

            1)在函數(shù)的頂部,確保傳遞進來的參數(shù)有效

            2)函數(shù)調用后,檢測返回值

            3)使輸入的值有效,符合規(guī)范

            那么選取怎樣的方式對錯誤進行處理呢,一般如下:

            1)快速跳過代碼

               1: void PrintString(char *strString)
               2: {
               3:     // Only print if strString is non-null
               4:     if (strString)
               5:         std::cout << strString;
               6: }

            2)想調用程序中,返回錯誤碼

               1: int g_anArray[10]; // a global array of 10 characters
               2:  
               3: int GetArrayValue(int nIndex)
               4: {
               5:     // use if statement to detect violated assumption
               6:     if (nIndex < 0 || nIndex > 9)
               7:        return -1; // return error code to caller
               8:  
               9:     return g_anArray[nIndex];
              10: }

            3)如果你想在發(fā)現(xiàn)錯誤時直接終止程序,可以使用exit函數(shù)

               1: int g_anArray[10]; // a global array of 10 characters
               2:  
               3: int GetArrayValue(int nIndex)
               4: {
               5:     // use if statement to detect violated assumption
               6:     if (nIndex < 0 || nIndex > 9)
               7:        exit(2); // terminate program and return error number 2 to OS
               8:  
               9:     return g_anArray[nIndex];
              10: }

            4)如果用戶輸入不合理的值,就繼續(xù)要求輸入

               1: char strHello[] = "Hello, world!";
               2:  
               3: int nIndex;
               4: do
               5: {
               6:     std::cout << "Enter an index: ";
               7:     std::cin >> nIndex;
               8: } while (nIndex < 0 || nIndex >= strlen(strHello));
               9:  
              10: std::cout << "Letter #" << nIndex << " is " << strHello[nIndex] << std::endl;

            5)可以使用cerr輸出錯誤,在gui編程的時候,可以直接在遇到錯誤的時候跳出對話框,輸出錯誤碼,然后終止

               1: void PrintString(char *strString)
               2: {
               3:     // Only print if strString is non-null
               4:     if (strString)
               5:         std::cout << strString;
               6:     else
               7:         std::cerr << "PrintString received a null parameter";
               8: }

             

            另,可以使用assert

               1: int g_anArray[10]; // a global array of 10 characters
               2:  
               3: #include <cassert> // for assert()
               4: int GetArrayValue(int nIndex)
               5: {
               6:     // we're asserting that nIndex is between 0 and 9
               7:     assert(nIndex >= 0 && nIndex <= 9); // this is line 7 in Test.cpp
               8:  
               9:     return g_anArray[nIndex];
              10: }

            posted @ 2012-05-28 21:05 鐘謝偉 閱讀(194) | 評論 (0)編輯 收藏

            堆和棧【翻譯】

            看到一篇比較有意思的文章,在這里就翻譯一下,當今天發(fā)表的內容了。

            from http://www.learncpp.com/cpp-tutorial/79-the-stack-and-the-heap/

            一個程序對于內存的使用,一般可以分為四類:

            1. 代碼區(qū)域,通過的編譯的程序在代碼中存儲的位置

            2. 全局變量區(qū)域,全局變量存儲的位置

            3. 堆,動態(tài)內存分配的變量存儲的位置

            4. 棧,函數(shù)參數(shù)和局部變量存儲的位置

            下面將主要針對3,4兩個方面進行論述。

             

            堆是一個用于動態(tài)分配的很大的內存池。在C++中,當你使用new操作符分配內存時,這個內存是從堆中取得的。

               1: int *pValue = new int; // pValue is assigned 4 bytes from the heap
               2: int *pArray = new int[10]; // pArray is assigned 40 bytes from the heap

            因為,要分配的內存的準確位置事先是不知道的,所以分配的內存是間接獲取的,也就說明了為什么new操作符返回的是指針。這里你并不需要擔心背后內存具體如何分配的機制。但是,有一點值得明了,連續(xù)的內存請求所指向的很可能不是連續(xù)的地址的內存片段。如:

               1: int *pValue1 = new int;
               2: int *pValue2 = new int;
               3: // pValue1 and pValue2 may not have sequential addresses

            上例中,兩個new是連續(xù)的,但是分配得到的pValue1和pValue2的地址是不連續(xù)的。當動態(tài)分配的變量被刪除后,內存有被返回到堆中以備后續(xù)中再次被動態(tài)分配。

            堆有如下優(yōu)缺點:

            1. 分配的內存一直處于被分配的狀態(tài),知道去分配操作出現(xiàn),才回到初始狀態(tài)(沒有及時去分配,如new后沒有用delete,會導致內存的泄漏)。

            2. 動態(tài)分配的內存必須通過指針聯(lián)系

            3. 由于堆是一個很大的內存池,大的數(shù)組,結構,類都應該在這里分配得到內存

             

            棧調用扮演了一個很有趣的角色。在我們討論棧調用之前,讓我們討論一下什么叫做棧。

            想象一下自助餐廳中的一堆疊起來的盤子。因為每個盤子都比較重,它們被疊起來的,你只能做以下三件事情。

            1)看向最上面的盤子

            2)將最上面的盤子拿掉

            3)在上面放一個新的盤子

            在計算機編程中,棧是一個存儲其他變量的容器(很像一個數(shù)組)。但是,一個數(shù)組能夠以你想要的方式任意更改獲取其中的元素,棧則有更多的限制,棧中能夠進行的操作如下:

            1)查看棧頂?shù)捻?/p>

            2)將棧頂?shù)捻棌捻敳恳瞥?/p>

            3)將一個新的項放置頂部

            棧是后進先出(LIFO)的數(shù)據(jù)結構。

            (略掉一些內容······)

            我們主要來看當調用函數(shù)是棧發(fā)生了一些什么行為。

            1)發(fā)生函數(shù)調用處的相關指令的地址被push進棧中

            2)函數(shù)返回類型置于棧中,設置一個占位符

            3)CPU跳至函數(shù)的代碼中

            4)現(xiàn)在棧頂?shù)膬热菔且粋€特殊指針,棧幀。隨后所有的加入到棧中的內容都是該函數(shù)的局部信息。

            5)所有的函數(shù)參數(shù)都被放入棧中

            6)函數(shù)中的指令得到執(zhí)行

            7)函數(shù)中的局部變量push棧中

            當函數(shù)結束的時候,發(fā)生如下事件:

            1)函數(shù)的返回值拷貝進入一個占位符中,

            2)在棧幀之后的所有內容都被pop off,所有的局部變量都被銷毀

            3)返回值被pop off并賦值給函數(shù)中的變量,如果調用函數(shù)的返回值沒有賦值給任何東西,該值就會丟失

            4)下一個語句的地址從棧中pop off,CPU繼續(xù)執(zhí)行

             

            棧溢出

            棧的大小是有限的,只能有序的容納一定量的信息。如果程序試圖向棧中放入過多的信息,棧將會溢出。棧溢出發(fā)生在棧的內存都被分配完了,那種情況下,更多的分配,將會發(fā)生在內存的其它片段中。

            棧溢出通常發(fā)生在分配了太多的變量到棧上,或太多的嵌套函數(shù)調用,導致結果就是程序的奔潰。

            如:

               1: int main()
               2: {
               3:     int nStack[100000000];
               4:     return 0;
               5: }

            棧的優(yōu)缺點:

            * 棧中的內容可以一直保留到pop off發(fā)生

            * 編譯時,棧中分配的內存是已知的,因此,可以直接通過變量訪問內存。

            * 因為棧相對而言是比較小的,所以小心會吃掉很多棧空間的事情。包括大型數(shù)組,結構體,類過多的內嵌,過多的遞歸等。

            posted @ 2012-05-27 23:08 鐘謝偉 閱讀(1858) | 評論 (3)編輯 收藏

            僅列出標題
            共4頁: 1 2 3 4 
            <2025年6月>
            25262728293031
            1234567
            891011121314
            15161718192021
            22232425262728
            293012345

            導航

            統(tǒng)計

            常用鏈接

            留言簿(1)

            隨筆檔案

            IT網站

            My Friends

            搜索

            最新評論

            閱讀排行榜

            評論排行榜

            日本WV一本一道久久香蕉| 国产成人精品久久二区二区| 91亚洲国产成人久久精品网址| 亚洲精品乱码久久久久66| 亚洲国产另类久久久精品| 成人久久精品一区二区三区| 精品久久久无码中文字幕天天| 久久久久亚洲AV成人网| 伊人伊成久久人综合网777| 人妻无码αv中文字幕久久| 91久久福利国产成人精品| 久久青青草视频| 精品久久香蕉国产线看观看亚洲| 国产精品狼人久久久久影院| 久久人人青草97香蕉| 久久精品国产99国产电影网| 亚洲国产精品综合久久一线 | 7777久久亚洲中文字幕| 99久久免费国产精品| 久久99热这里只频精品6| 久久精品这里热有精品| 久久精品一区二区三区AV| 91久久精品国产91性色也| 麻豆亚洲AV永久无码精品久久| 国产三级精品久久| 久久精品一区二区| 久久久一本精品99久久精品88| 亚洲七七久久精品中文国产| 丁香五月综合久久激情| 精品久久8x国产免费观看| 伊人久久大香线蕉综合热线| 久久最新免费视频| 国产成人精品久久综合 | 久久A级毛片免费观看| 久久久这里只有精品加勒比| 精品久久久久久久久久中文字幕| 精品国产一区二区三区久久久狼 | 狠狠精品久久久无码中文字幕| 亚洲第一极品精品无码久久| 亚洲精品无码久久一线| 久久精品亚洲AV久久久无码|