void CCellWallMainFrameListBox::RefreshSelectAd(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 );
TRgb aColor(255,255,128);
iGC->SetBrushColor( aColor );
iGC->SetBrushStyle( CGraphicsContext::ESolidBrush );
iGC->DrawRect( TRect(TPoint(0,0), iEmptyBitmap->SizeInPixels()) );
iGC->SetBrushStyle( CGraphicsContext::ENullBrush );
delete iGC;
CleanupStack::PopAndDestroy( iGD );
TRect rc(Rect());
TRect rect;
if ((50 == version) || (52 == version))
{
rect.SetRect(TPoint(rc.iTl.iX, rc.iBr.iY-45),TPoint(rc.iBr.iX, rc.iBr.iY));
}
else
{
rect.SetRect(TPoint(rc.iTl.iX, rc.iBr.iY-30),TPoint(rc.iBr.iX, rc.iBr.iY));
}
gc.DrawBitmapMasked(rect,imgToBrighten,TRect(TPoint(0,0),iEmptyBitmap->SizeInPixels()),iEmptyBitmap,EFalse);
CleanupStack::PopAndDestroy( iEmptyBitmap );
}
这段代码实现图片变淡,你可以通过调整TRgb aColor(255,255,128);这里的颜色值来观察图片的显示效果
{
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 );
TRgb aColor(255,255,128);
iGC->SetBrushColor( aColor );
iGC->SetBrushStyle( CGraphicsContext::ESolidBrush );
iGC->DrawRect( TRect(TPoint(0,0), iEmptyBitmap->SizeInPixels()) );
iGC->SetBrushStyle( CGraphicsContext::ENullBrush );
delete iGC;
CleanupStack::PopAndDestroy( iGD );
TRect rc(Rect());
TRect rect;
if ((50 == version) || (52 == version))
{
rect.SetRect(TPoint(rc.iTl.iX, rc.iBr.iY-45),TPoint(rc.iBr.iX, rc.iBr.iY));
}
else
{
rect.SetRect(TPoint(rc.iTl.iX, rc.iBr.iY-30),TPoint(rc.iBr.iX, rc.iBr.iY));
}
gc.DrawBitmapMasked(rect,imgToBrighten,TRect(TPoint(0,0),iEmptyBitmap->SizeInPixels()),iEmptyBitmap,EFalse);
CleanupStack::PopAndDestroy( iEmptyBitmap );
}
这段代码实现图片变淡,你可以通过调整TRgb aColor(255,255,128);这里的颜色值来观察图片的显示效果