Namespaces

Variants
Actions

Please note that as of October 24, 2014, the Nokia Developer Wiki will no longer be accepting user contributions, including new entries, edits and comments, as we begin transitioning to our new home, in the Windows Phone Development Wiki. We plan to move over the majority of the existing entries over the next few weeks. Thanks for all your past and future contributions.

Utilizando transparência em bitmaps

From Wiki
Jump to: navigation, search
Article Metadata

Artigo
Criado por cabezonxdg em Cabezonxdg
Última alteração feita por hamishwillee em 09 Dec 2011

É possível utilizar transparência através do uso de máscaras (Masks), permitindo escolher qual região do bitmap você deseja exibir na tela. Na verdade você escolhe quais pixels não deseja exibir sendo eles correspodentes as cores preta ou branca.

Veja um exemplo:

SmileyMasks.gif

O uso é simples, você utiliza o bitmap a ser exibido e a sua máscara, na máscara é definida a região que não será exibida na tela (no exemplo acima a região preta mas como mencionado antes pode-se definir a cor branca como inválida).

A função responsável por exibir o bitmap já com sua máscara é a CBitmapContext::BitBltMasked().

Exemplo encontrado nos documentos sdk do Symbian:

//Carrega o bitmap máscara , como qualquer outro bitmap
CFbsBitmap* maskBitmap = new (ELeave) CFbsBitmap();
CleanupStack::PushL(maskBitmap);
User::LeaveIfError(maskBitmap->
Load(multiBitmapFile,EMbmGrbmap2Smilmask));
 
// Cálcula o retângulo da área onde será utilizada a máscara
TRect bmpPieceRect(TPoint(0,0),bitmap->SizeInPixels());
 
// Exibe na tela utilizando máscara e sem inversão
gc.BitBltMasked(TPoint(50,50),bitmap,bmpPieceRect,maskBitmap,EFalse);
 
...
// Limpa da memória
CleanupStack::PopAndDestroy();

Veja o termo "inversão" , caso o último argumento seja definido como ETrue os pixels em branco é que não serão exibidos.

This page was last modified on 9 December 2011, at 04:56.
182 page views in the last 30 days.

Was this page helpful?

Your feedback about this content is important. Let us know what you think.

 

Thank you!

We appreciate your feedback.

×