亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

基于Nokia S60的游戲開發之三

2019-11-18 19:40:04
字體:
來源:轉載
供稿:網友

  Symbian OS可以被理解為一個面向位圖的操作系統。Symbian OS中所有的應用程序都可以使用位圖,尤其是游戲程序。雖然使用基本繪圖方法(例如DrawLine和DrawEllipse)能夠畫出更加小型的圖形,但是位圖能夠更有效地畫屏,而且輸出的圖形更加細膩。

  Symbian OS有自己的位圖文件格式MBM,這是一種多位圖文件。 窗口位圖使用一個位圖轉化工具bmconv來創建MBM。 由于一個MBM文件可能包含多個位圖,所以bmconv還產生一個位圖頭文件MBG,這個頭文件提供了一個訪問位圖的ID。當從MBM文件加載一張位圖的時候,應該包括相應的頭文件,同時應當使用恰當的標識符作為加載位圖的方法的參數。 位圖可以在項目文件中定義:

START BITMAP [target-file]
HEADER
TARGETPATH [targetpath]
SOURCEPATH [sourcepath]
SOURCE [colour-depth] [source-bitmap]
END 

  bmconv可以創建兩種不同類型的Symbian OS位圖:只讀存儲位圖和非只讀存儲位圖。非只讀存儲位圖,亦稱文件存儲位圖,使用編碼RLE壓縮,它們在使用之前需要被裝載到RAM中。為了提高描畫速度,一般不壓縮只讀存儲位圖,并且可以直接從ROM中使用它們。默認情況下是bmconv建立文件存儲位圖(即非只讀存儲位圖)。

  Symbian OS提供對蒙版(mask)的支持。蒙版是黑白位圖,白色描畫透明區--只有蒙版中的黑色區域上的像素是從原始位圖上根據想要的圖形描畫來的。因為蒙版只需要兩種顏色,所以它們應該被轉化為1bit的位圖以節省存儲空間。圖1說明了使用蒙版的示例。

圖1 使用蒙版來描畫透明位圖的示例

  Series 60提供了一個名為makemask的命令行工具,用來從8 bit位圖中創建1 bit的蒙版。 makemask使用原位圖中的最后一個調色板索引作為透明色。

  雖然Symbian OS提供了設置位圖調色板的應用程序編程接口,但是這些接口并沒有實現。一旦補充這些應用程序編程接口,系統就支持彩色顯示。當添加支持的時候,Symbian OS判定只支持Netscape調色板色彩立方校正。 Series 60提供它自己的8 bit位圖調色板。Bmvconv被修改來把8 bit位圖轉換為使用Series 60調色板(提供216種顏色和10種灰色調)。 這能防止第三方開發者使用它們自己的調色板,因為使用它們自己的調色板經常會對位圖輸出造成影響。 尤其是需要一種顏色的多種色調的位圖,例如創建一個顏色漸變位圖,至少應該轉化為12位的位圖。 Series 60調色板定義在thirdpartybitmap.pal調色板文件中。

  位圖的管理由CFbsBitmap類來完成,這個類提供了用于創建和裝載位圖的方法,并且定義它們的色深度和尺寸。它使用RFbssession類來訪問FBS,因此用戶是接觸不到會話類的。 CFbsBitmap還提供了直接訪問位圖圖像數據的方法。 可以使用DataAddress方法獲得一個指向數據地址的指針,并且可以使用GetScanLine方法訪問一條指定的掃描線。

  根據位圖的尺寸把位圖分解到FBS中的兩個不同的堆里。小于4kB的位圖被保存到一個堆里,大于4kB的位圖保存到另一個堆里。進行這種分解是為了防止存儲碎片,存儲碎片是大的位圖被創建和銷毀的時候經常出現的--大位圖的堆能自動整理碎片。由于碎片整理的原因,當操作大位圖的內容時,堆需要被鎖定。為了防止碎片整理和操作同步進行,TBitmapUtil類提供了鎖定堆和解鎖堆的操作。只有在一個位圖的圖像數據被直接編輯的時候才需要鎖定堆--描畫和復制方法提供了自動鎖定功能。 下面的示例在位圖是大的位圖并且使用顏色填充位圖的情況下鎖定FBS。它假定位圖的每個象素都使用16位。這適用于12位和16位位圖。

// Lock the heap if a large bitmap
if ( bitmap->IsLargeBitmap() )
{
 TBitmapUtil bitmapUtil( bitmap );
 bitmapUtil.Begin( TPoint(0,0) );
}
// Edit bitmap
TSize bitmapSize = bitmap->SizeInPixels();
TUint16* bitmapData = (TUint16*)bitmap->DataAddress();
TUint16 colour = 0;
for ( TInt y = 0; y < bitmapSize.iHeight; y++ );
{
 for ( TInt x = 0; x < bitmapSize.iWidth; x++ )
 {
  *bitmapData++ = colour++;
 }
}
// Release the heap
if ( bitmap->IsLargeBitmap() )
{
 BitmapUtil.End();

  為了使描畫位圖比使用CfbsBitmaps還快,窗口服務器提供它自己的位圖類CWsBitmap。它通過取得位圖處理的所有權來除去窗口服務器和FBS之間多余的上下文轉換。CWsBitmap從CFbsBitmap繼承而來,并且實現了其所有相同的方法。如果你在開發應用程序的時候很重視描畫速度,那么你應該使用CWsBitmap來替代它的基類。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品久久久久久影视| 欧美中文字幕第一页| 亚洲精品一区二区在线| 国产精品久久一| 人人爽久久涩噜噜噜网站| 欧美特黄级在线| 国外成人性视频| 国产噜噜噜噜久久久久久久久| 91在线视频免费| 欧美另类暴力丝袜| 蜜月aⅴ免费一区二区三区| 欧美国产日产韩国视频| 日韩精品在线观看网站| 午夜精品一区二区三区在线播放| 国产精品老女人视频| 日韩中文字幕视频在线观看| 国产亚洲欧美日韩精品| 亚洲a级在线观看| 久久久久一本一区二区青青蜜月| 欧美激情性做爰免费视频| 97欧美精品一区二区三区| 国产精品精品视频| 欧美美女18p| 91精品在线影院| 久久香蕉精品香蕉| 日韩成人性视频| 一个人看的www欧美| 国产精品视频播放| 欧美另类69精品久久久久9999| 国产精品亚洲第一区| 久久久精品在线| 亚洲精品一区在线观看香蕉| 国产精品网站入口| 一区二区三区国产在线观看| 亚洲人成免费电影| 色先锋资源久久综合5566| 国产精品自拍视频| 日韩在线观看免费全集电视剧网站| 久久精品视频一| 国产成人精品视频| 97久久精品人人澡人人爽缅北| 91免费的视频在线播放| 欧美在线中文字幕| 久久艳片www.17c.com| 俺去亚洲欧洲欧美日韩| 国产精品精品一区二区三区午夜版| 狠狠综合久久av一区二区小说| 欧美重口另类videos人妖| 亚洲激情视频在线| 久久91精品国产| 91精品中国老女人| 亚洲欧洲在线播放| 热re99久久精品国产66热| 日韩精品视频在线观看免费| 精品毛片网大全| 91亚洲国产成人久久精品网站| 精品国产91久久久久久| 日韩精品中文字幕在线播放| 亚洲最大成人在线| 91社区国产高清| 国产91在线播放九色快色| 国产91精品在线播放| 国产精品久久久久9999| 97热在线精品视频在线观看| 久久影视电视剧免费网站| 伊人久久久久久久久久久久久| 成人激情视频网| 欲色天天网综合久久| 91在线视频导航| 黄网动漫久久久| 亚洲欧美日韩在线高清直播| 久久久国产精品免费| 性欧美暴力猛交69hd| 国产精品久久久久久久天堂| 久久久在线视频| 久久影视免费观看| 日韩电影中文字幕在线| 亚洲精品久久久久久久久久久久| 国产精品永久免费在线| 久久香蕉频线观| 日韩精品丝袜在线| 国产精品视频网址| 日本最新高清不卡中文字幕| 国产成人综合精品在线| 国产精品视频久久| 中文字幕欧美日韩va免费视频| 欧美成人精品一区二区三区| 91精品视频在线免费观看| 国产综合久久久久| 在线视频精品一| 国产视频久久久久久久| 亚洲精品美女久久| www.日韩不卡电影av| 久久久国产视频| 国产美女精品视频| 92福利视频午夜1000合集在线观看| 热久久美女精品天天吊色| 亚洲激情视频在线播放| 色www亚洲国产张柏芝| 欧美日本中文字幕| 欧美性猛交xxxx免费看漫画| 国产aⅴ夜夜欢一区二区三区| 亚洲国产精品久久久久秋霞不卡| 青青草成人在线| 91精品久久久久久久久| 97在线看免费观看视频在线观看| 国产日韩欧美影视| 亚洲图中文字幕| 日本一区二区三区在线播放| 6080yy精品一区二区三区| 欧美日韩免费看| 国产乱肥老妇国产一区二| 国产精品视频永久免费播放| 日韩精品中文字幕久久臀| 欧美视频一二三| 性欧美在线看片a免费观看| 不卡av在线网站| 狠狠躁夜夜躁人人躁婷婷91| 97在线视频一区| 另类天堂视频在线观看| 亚洲国产古装精品网站| 日韩在线精品视频| 久久精品中文字幕| 久久久黄色av| 久久久成人精品| 97色在线播放视频| 亚洲欧美综合另类中字| 成人欧美一区二区三区在线湿哒哒| 美女视频黄免费的亚洲男人天堂| 91日韩在线播放| 欧美精品www在线观看| 高清在线视频日韩欧美| 国产精品欧美亚洲777777| 色www亚洲国产张柏芝| 日本伊人精品一区二区三区介绍| 欧美另类精品xxxx孕妇| 国产精品九九九| 91av视频在线观看| 国语自产精品视频在线看一大j8| 欧美国产日韩一区二区在线观看| 亚洲精品中文字幕av| 国产日韩视频在线观看| 久久精品99国产精品酒店日本| 欧美成人一区在线| 一区二区中文字幕| 性欧美在线看片a免费观看| 欧美日韩在线免费| 91极品视频在线| 中文字幕日本欧美| 中文字幕日韩av综合精品| 久久这里只有精品视频首页| 伊人成人开心激情综合网| 这里精品视频免费| 久热99视频在线观看| 国产网站欧美日韩免费精品在线观看| 成人免费视频97| 欧美精品成人91久久久久久久| 中文字幕欧美精品在线| 日韩暖暖在线视频| 欧洲亚洲在线视频| 国产精品在线看| 日韩av成人在线观看| 色诱女教师一区二区三区| xxx一区二区|