WEB开发网
开发学院手机开发Symbian 开发 Symbian游戏编程入门之图形显示 阅读

Symbian游戏编程入门之图形显示

 2010-05-31 20:04:00 来源:WEB开发网   
核心提示:User::LeaveIfError(loadException);CleanupStack::Pop(iImage1);4.3.2显示:通过使用DrawBitmap()方法,可以将已经读取或绘制好的位图显示在窗口中,Symbian游戏编程入门之图形显示(4),void DrawBitmap(const TPoint&

User::LeaveIfError(loadException);

CleanupStack::Pop(iImage1);

4.3.2显示:

通过使用DrawBitmap()方法,可以将已经读取或绘制好的位图显示在窗口中。

void DrawBitmap(const TPoint& aTopLeft,const CFbsBitmap* aSource)

这里,aTopLeft指定了要绘制的位图的左上角坐标,aSource给出了要绘制的位图的内容。

void DrawBitmap(const TRect& aDestRect,const CFbsBitmap* aSource)

将给出的位图aSource绘制在指定的矩形区域aDestRect中。

void DrawBitmap(const TRect& aDestRect,const CFbsBitmap* aSource,const TRect& aSourceRect)

在给出的位图aSource中截取aSourceRect区域,将其内容绘制在指定的矩形区域aDestRect中。

4.4 像素级处理

可以通过使用TBitmapUtil类的一些方法对位图进行像素级的处理。包括:

void Begin(const TPoint& aPosition):设置当前要处理的像素位置,并锁定堆。

void End():解除对堆的锁定。

void SetPos(const TPoint& aPosition):改变当前像素位置至aPosition。

void IncXPos():将当前的X坐标自增1。

void DecXPos():将当前的X坐标自减1。

void IncYPos():将当前的Y坐标自增1。

void DecYPos():将当前的Y坐标自减1。

TUint32 GetPixel() const:获取当前像素的RGB值。

void SetPixel(TUint32 aValue):设置当前像素的RGB值。

下面我们通过将一个位图反转后写入另一张位图中的操作来说明TBitmapUtil类的使用方法。

利用前面已经生成并读取的位图:CFbsBitmap* iImage1和CFbsBitmap* iImage2。这里iImage2的长宽均大于iImage1,我们将iImage1反转装入iImage2中

首先关联要操作的位图:

TBitmapUtil bitmap1Util(iBitmap1);

TBitmapUtil bitmap2Util(iBitmap2);

接下来开始对位图操作,并设置初始点为(0,0):

bitmap1Util.Begin(TPoint(0,0));

bitmap2Util.Begin(TPoint(0,0));

下面从iBitmap1逐像素读取,并写入iBitmap2中:

TSize inSize = iBitmap1->SizeInPixels();

TInt xPos;

上一页  1 2 3 4 5  下一页

Tags:Symbian 游戏 编程

编辑录入:coldstar [复制链接] [打 印]
赞助商链接