为Symbian程序中的图片增加半透明效果
来源:互联网 发布:linux more 查找20 编辑:程序博客网 时间:2024/05/29 18:14
我封装了一个方法,传入相应的图片,就会把图片变成半透明效果并显示在程序界面上.
void CMegajoyContainer::ConvertToAlpha(CWindowGc& gc,CFbsBitmap *imgToBrighten) const
{
CFbsBitmap* iEmptyBitmap = new ( ELeave ) CFbsBitmap();
CleanupStack::PushL( iEmptyBitmap );
User::LeaveIfError( iEmptyBitmap->Create( imgToBrighten->SizeInPixels(), CEikonEnv::Static()->DefaultDisplayMode() ) );
CFbsBitmapDevice *iGD = CFbsBitmapDevice::NewL( iEmptyBitmap );
CleanupStack::PushL( iGD );
CFbsBitGc *iGC;
User::LeaveIfError( iGD->CreateContext( iGC ) );
iGC->SetPenStyle( CGraphicsContext::ENullPen );
iGC->SetBrushColor( KRgbWhite );
iGC->SetBrushStyle( CGraphicsContext::ESolidBrush );
iGC->DrawRect( TRect(TPoint(0,0), iEmptyBitmap->SizeInPixels()) );
iGC->SetBrushStyle( CGraphicsContext::ENullBrush );
delete iGC;
CleanupStack::PopAndDestroy( iGD );
CFbsBitmap* iEmptyBitmapMask = new ( ELeave ) CFbsBitmap();
CleanupStack::PushL( iEmptyBitmapMask );
User::LeaveIfError( iEmptyBitmapMask->Create( imgToBrighten->SizeInPixels(), EGray256 ) );
iGD = CFbsBitmapDevice::NewL( iEmptyBitmapMask );
CleanupStack::PushL( iGD );
User::LeaveIfError( iGD->CreateContext( iGC ) );
iGC->SetPenStyle( CGraphicsContext::ENullPen );
iGC->SetBrushColor( KRgbGray );
iGC->SetBrushStyle( CGraphicsContext::ESolidBrush );
iGC->DrawRect( TRect(TPoint(0,0), iEmptyBitmap->SizeInPixels()) );
iGC->SetBrushStyle( CGraphicsContext::ENullBrush );
delete iGC;
CleanupStack::PopAndDestroy( iGD );
gc.BitBltMasked(TPoint(0,0),iEmptyBitmap,TRect(TPoint(0,0),iEmptyBitmapMask->SizeInPixels()),iEmptyBitmapMask,EFalse);
CleanupStack::PopAndDestroy(iEmptyBitmapMask);
CleanupStack::PopAndDestroy( iEmptyBitmap );
}
注意要在.mmp文件中加入库文件
LIBRARY bitgdi.lib
LIBRARY ws32.lib
LIBRARY fbscli.lib
效果如下:
原图片为
转变后的图片为
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1465656
- 为Symbian程序中的图片增加半透明效果
- 为Symbian程序中的图片增加半透明效果
- 为Symbian程序中的图片增加半透明效果
- 为Symbian程序中的图片增加半透明效果
- 为Symbian程序中的图片增加半透明效果
- 为Symbian程序中的图片增加半透明效果
- 为Symbian程序中的图片增加半透明效果
- 为Symbian程序中的图片增加半透明效果
- 为Symbian程序中的图片增加半透明效果
- symbian半透明效果
- 图片半透明效果
- 图片半透明效果
- 图片半透明效果
- 图片半透明效果
- 利用C#为图片增加水印效果
- Symbian 图片透明效果
- Symbian 图片透明效果
- Symbian 图片透明效果
- 基于TCP/IP的手机聊天游戏(附带源码和解释)之共享类
- 编写安全的Symbian C++游戏代码
- 解决K700真机左右软键无响应Bug
- 深入线程的wait()/notify()
- 用SOA打造企业仪表盘
- 为Symbian程序中的图片增加半透明效果
- 基于回合制的在线棋类对战游戏(图)
- GCC编译器的使用
- 基于TCP/IP的手机聊天游戏(附带源码和解释)之客户端类
- InputStream类的实现
- 通过处理按键模拟加速度,刹车等功能
- 基于TCP/IP的手机聊天游戏(附带源码和解释)之客户端类
- 一个手机上的网络聊天游戏(图)
- Symbian中ini文件的使用