文章目錄 使用前AGG的準備工作AGG圖形顯示原理見:其中: 來自http://www.cppprog.com/2009/0816/146.html AGG是一個開源、高效的跨平台2D圖形庫。AGG的功能與GDI+的功能非常類似,但提供了比GDI+更靈活的編程介面,其產生的圖形的品質也非常高(自稱超過GDI+) 使用前AGG的準備工作下載AGG庫,它的家在http://www.antigrain.com,目前最高版本是AGG2.5
AGG(Anti-Grain Geometry),強大的2D幾何圖形庫。因為GDI+的一些缺陷(不能跨平台,某些應用場合精度差),我一直在尋求可以替換gdi+繪圖組件的方案,最終我選擇了AGG,提供亞像素精度顯示效果,反鋸齒效果超好,跨平台,代碼精緻亦適合嵌入式開發。網上關於2D圖形庫的組件非常多,類似的還有GOOGLE
文章目錄 映像訪問器Image Accessor映像過濾器(Image Filter) 映像訪問器Image Accessor也許有不少同學看到開頭的線段產生器一節時,已經嘗試修改範例程式碼中的span_image_filter_rgb_bilinear_clip了(比如改成span_image_filter_rgb_bilinear)。不過編譯時間會出錯,這是因為大部分的線段產生器類接受的Source模板不是 PixelFormat
1 安裝SDK及VCNokia 根據手機的螢幕大小和價格高低把手機分成了多個系列,現在使用的系列有:Series 40、Series 60、Series 80 和Series 90。60系列採用Symbian os 6.1,然後又根據手機螢幕的特點對UI做了一些修改,這個被修改了的Symbian就被稱為Nokia的60系列平台。使用60系列的手機型號包括:Nokia 6670、 Nokia 6630、 Nokia 6260 、Nokia N-Gage QD? 、Nokia 7610
預定義UI控制項*在S60中有許多預定義的UI控制項 - Menu(菜單) - Dialog(對話方塊) - Editor(編輯器) - Form(表單) - List(列表框,包括柵格)菜單*功能表列 - 菜單構造的起點 - 應用程式可以有預設的功能表列,或者每個視圖都有一個預設的功能表列 - 由CEikMenuBar封裝*菜單面板 - 定義菜單的各個部分 - 包含功能表項目列表,每一項都包括一個文本字串和一個命令ID - 由CEikMenuPane封裝菜單資源*MENU_BAR資源必須定義*
實現以下四個方法,如果彈出的鍵盤會遮住輸入框 ,整體的介面會向上移動,這樣就不會遮住輸入框了。自己增加UITextFieldDelegate委託。只適合iPhone,如果想要支援iPad,只要把216改成iPad上面鍵盤的高度即可。- (void)keyboardWillShow:(NSNotification *)noti{ //鍵盤輸入的介面調整 //鍵盤的高度 float height = 216.0;
今天要寫份文檔,有一個比較好的pdf文檔,想複製裡面的一些內容,試了好幾次都沒有成功,開始還以為是鍵盤的原因,放狗搜了一下,有幾個方法可以解決,最後實踐發現,“Adult PDF Password Recovery”
虛函數的作用是允許在衍生類別中重新定義與基類同名的函數,並且可以通過基類指標或引用來訪問基類和衍生類別中的同名函數。 例:基類與衍生類別中有同名函數。在下面的程式中Student是基類,Graduate是衍生類別,它們都有display這個同名的函數。#include <iostream>#include <string>using namespace std;//聲明基類Studentclass Student{public: Student(int,
1、非C++內建類A和B,請使用至少3種方法,使得B能隱式轉化為A. 2、簡述placement new的使用方法。 3、explicit關鍵字的用途。 http://blog.csdn.net/pandahsu/archive/2010/03/29/5430004.aspx4、GC是什嗎?為什麼使用GC?簡述原理 5、建構函式是否可為虛函數,解構函式是否可為虛函數,為什嗎? 6、簡述設計模式中的原廠模式。 7、實現一個智能指標類。(編程) symbian部分
等待對話方塊要用到的類:CAknGlobalNote標頭檔:aknglobalnote.hlib:aknnotify.lib eiksrv.lib使用方法:Code://顯示等待對話方塊 CAknGlobalNote* globalNote = CAknGlobalNote::NewL(); CleanupStack::PushL( globalNote ); TInt iWaitNoteId = globalNote->ShowNoteL(
1.Core OS層-----包含核心部分、檔案系統、網路基礎、安全特性、能量管理和一些裝置驅動,還有一些系統層級的API。2.Core Services層----提供核心服務,例如字串處理函數、集合管理、網路管理、URL處理工具、連絡人維護、喜好設定等。.3.Media層----該層架構和服務依賴Core Services層,向Cocoa Touch層提供畫圖和多媒體服務,如聲音、圖片、視頻等。4.Cocoa Touch層----該架構基於 iPhone OS應用程式層直接調用層,如觸摸事件、
symbian定義了幾個提示類,分別是:confirm類:CAknConfirmationNoteinfo類: CAknInformationNotewarning類:CAknWarningNoteerror類: CAknErrorNote標頭檔:aknnotewrappers.hlib:avkon.lib eikcdlg.lib eikctl.lib 使用執行個體: TBuf<32> buf; buf.Copy(_L("Salmon"));
文章目錄 漸層顏色漸層方式本節的最後,再介紹一下其它幾個色彩類的線段產生器 色彩類線段產生器標頭檔#include <agg_span_solid.h> #include <agg_span_gradient.h> #include <agg_span_gradient_alpha.h> #include <agg_span_gouraud_gray.h> #include
函數原型:void CEikonEnv::AlertWin(const TDesC& aMsg);void CEikonEnv::AlertWin(const TDesC& aMsg1,const TDesC& aMsg2);static void CEikonEnv::InfoWinL(const TDesC& aFirstLine,const TDesC&
進度條對話方塊類為:CAknProgressDialog標頭檔:aknprogressdialog.hlib: avkon.lib eikcdlg.lib eikctl.lib 使用方法:Code://初始化進度條CAknProgressDialog* iProgressDialog;CEikProgressInfo* iProgressInfo;iProgressDialog = new ( ELeave ) CAknProgressDialog( reinterpret_cast
組合類別線段產生器標頭檔#include <agg_span_converter.h> 類型template<class SpanGenerator, class SpanConverter> class agg::span_converter;
來自http://www.cppprog.com/2009/0821/150.html 上次講了AGG的顯示原理並舉了一個簡單的例子,這一篇文章開始講AGG工作流程裡的每個環節。為了方便對照,再放一次AGG顯示流程 圖 另外,上 一篇文章裡的例 程也 很重要,後面的例子都將基於這個代碼。下面,我們來考察AGG顯示流程中的每個環節。理解每個環節最好的方法是編寫實驗代碼,建議先參照這裡建 立一個可以啟動並執行AGG實驗環境。頂點源(Vertex
文章目錄 方式一、使用gsv_text對象 字元輸出,對於AGG來說,這個功能可以處於顯示流程的 不同位置。比如字型引擎可直接處於“Scanline Rasterizer”層向渲染器提供已處理完畢的掃描線,也可以處於“Vertex
文章目錄 AGG與GDI顯示 Rendering BufferRendering Buffer是一個記憶體塊,用於儲存映像資料。這是AGG與顯示器之間的橋樑,我們要顯示AGG圖形實際上就是識別這個記憶體塊並使用系統的API顯示出來 而已(實際上幾乎不需要做轉換工作,因為無論是Windows還是Linux,API所用的映像儲存格式與Rendering Buffer都是相容的)。標頭檔:#include
線段產生器(Span