begin process at 2012 02 17 11:51:12
  Trouver un code source :
 
dans
 
Accueil > Forum > 

 > 

 > 

Surlignage dans une bitmap ?


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Surlignage dans une bitmap ?

dimanche 2 janvier 2005 à 15:11:08 | Surlignage dans une bitmap ?

TigWdz

Bonjour, je voudrais faire du surlignage dans une bitmap. Je m'explique : J'ai une bitmap qui représente du texte, et je veux, à la manière d'un marqueur fluo, surligner des lignes du texte, en semi transparence. Comment faire ?
Je pense qu'il faut utilmiser AlphaBlend. J'arrvie a rendre ma bitmap semi transparente (ce qui n'est pas le but), mais je n'arrive pas a faire un rectangle de couleur semi transparent dans ma bitmap.

Mon code : (que j'ai plus attrapé sur le net à la base, au quelle j'ai essayé de bidouillé de la transparence)

void CArchiv2View::DrawBitmap( CDC *pDC, HBITMAP hBitmap, HPALETTE hPal, int xDest, int yDest )
{
// Get logical coordinates
BITMAP bm;
::GetObject( hBitmap, sizeof( bm ), &bm );
CPoint size( bm.bmWidth, bm.bmHeight );
pDC->DPtoLP(&size);

CPoint org(0,0);
pDC->DPtoLP(&org);


// Mon DC mémoire

// Create a memory DC compatible with the destination DC
CDC memDC;
memDC.CreateCompatibleDC( pDC );
memDC.SetMapMode( pDC->GetMapMode() );

//memDC.SelectObject( &bitmap );
HBITMAP hBmOld = (HBITMAP)::SelectObject( memDC.m_hDC, hBitmap );


// Je me suis dis qu'il fallais que je créé un DC dans le quel je //dessinais ma ligne

CDC LigneDC;
LigneDC.CreateCompatibleDC( pDC );
LigneDC.SetMapMode( pDC->GetMapMode() );
CRect rc=CRect(200, 200, 700, 220);
CBrush brush(RGB(255, 255, 0));
LigneDC.FillRect(rc, &brush);

// les propriétes de transparence
BLENDFUNCTION blendF;
blendF.BlendOp = AC_SRC_OVER;
blendF.BlendFlags = 0;
blendF.SourceConstantAlpha = 100;
//blendF.AlphaFormat = AC_SRC_ALPHA;
blendF.AlphaFormat = 0;


// je copie en tranparence le DC contenant la ligne dans le memDC (qui contient deja ma bitmap)

memDC.AlphaBlend(0, 0, 1000, 1000, &LigneDC, 0, 0, 1000, 1000, blendF);


// Select and realize the palette
if( hPal && pDC->GetDeviceCaps(RASTERCAPS) & RC_PALETTE)
{
SelectPalette( pDC->GetSafeHdc(), hPal, FALSE );
pDC->RealizePalette();
}

// et je copie le memDC dans mon PaintDC
pDC->BitBlt(xDest, yDest, size.x, size.y, &memDC, org.x, org.y, SRCCOPY);

::SelectObject( memDC.m_hDC, hBmOld );
}




Que est ce qui cloche ?


Cette discussion est classée dans : bitmap, pdc, hbitmap, memdc, blendf


Répondre à ce message

Sujets en rapport avec ce message

Surlignage semi transparent dans un Bitmap ? [ par TigWdz ] Bonjour, je voudrais faire du surlignage dans une bitmap. Je m'explique : J'ai une bitmap qui représente du texte, et je veux, à la manière d'un marqu Comment attribué une image à un bouton ? [ par loic38760 ] je veux que quand je clique sur le boutton "Command" par exemple l'image "Bitmap.bmp" s'affiche dans le bouton.j'ai essayé : command.picture = "Bitmap Afficher un Bitmap situer dans un Buffer [ par dhylde ] Bonjour, J'aimerais connaitre les différentes facon d'afficher un Bitmap situer dans un buffer. Merci! images bitmap CLEAN [ par IndigoKod ] Salut à tous, après moultes tentatives, je n'arrive toujours pas à avoir des bitmap "clean" une fois importés dans flash... Ce problème est présent su images bitmap CLEAN [ par IndigoKod ] Salut à tous ! Quelqu'un connait t'il une manip efficace pour regler une fois pour toute le problème des effets d'escalier sur les photos ou images co images bitmap CLEAN [ par IndigoKod ] Salut à tous ! Quelqu'un connait t'il une manip efficace pour regler une fois pour toute le problème des effets d'escalier sur les photos ou images co SetDIBits [ par dhylde ] Salut, J'ai juste une petite question, selon MSDN le paramètre " CONST VOID *lpvBits, // array of bitmap bits" de  SetDIBits est un un poi Bitmap ou autre [ par fracar ] Bonjour,Je cherche a créer un dessin en arrière plan et de le placer en premier planau moment choisi.Le problème c'est dans mon cas .Picture il doit-e Problème avec bitmap [ par Scientophage ] Voici le code que j'ai tapé Private Image As New System.Drawing.Bitmap(121, 129, Imagi [GDI+] Transition entre 2 images [ par fabmas ] Bonjour, je cherche a programmer des transitions : pour cela je cree un tableau de bitmap (pour le double buffer) je boucle x fois pour le remplir ave


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,014 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales