IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++Builder Discussion :

[BCB6] CopyRect et transparence


Sujet :

C++Builder

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre Expert Avatar de rtg57
    Homme Profil pro
    Autodidacte
    Inscrit en
    Mars 2006
    Messages
    1 343
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 59
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activit� : Autodidacte
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 343
    Par d�faut [BCB6] CopyRect et transparence
    Bonjour,

    je voudrais copier une partie d'un bitmap, dans un autre bitmap, mais avec un effet de transparence.
    En clair, le bitmap mod�le poss�de des pixels de couleur noire, qui repr�sente les zones de transparence.
    Avec les fonctions Canvas->Draw() et compagnie, pas de probl�me, la transparence est g�r�e par le Canvas.
    Par contre, Canvas->CopyRect() s'appuie sur Canvas->CopyMode. Et l�, pas moyen d'indiquer que le noir et la couleur transparente. Y a-t-il une solution ?

    ATTENTION: pas question d'utiliser Pixel[x][y] pour tester chaque points. Faut que �a tourne � fond !

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 412
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 412
    Par d�faut
    Salut !

    On a droit � ScanLine alors ?
    Si les dimensions du bitmap s'y pr�tent on peut minimiser l'impact de la boucle et donc gagner encore un peu plus de temps.

    L'autre solution consisterait � r�organiser les pixels � copier de mani�re � supprimer le test : un pixel peut �tre d�fini � l'aide de : [ligne, colonne, couleur]... On ne traiterait donc que les bons pixels (comme la TNT en somme) !

    A plus !

  3. #3
    Membre Expert Avatar de rtg57
    Homme Profil pro
    Autodidacte
    Inscrit en
    Mars 2006
    Messages
    1 343
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 59
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activit� : Autodidacte
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 343
    Par d�faut
    NAN pas de ScanLine()
    Je plaisante bien s�r.

    En fait j'aimerais aussi �viter cette solution.
    Je pensais qu'il y avait un moyen plus efficace, compris dans la classe TBitmap elle-m�me. Ou peut �tre un algoritme genre CopyRect() avec cmSrcAnd, puis cmPatInvert...
    Enfin bref, de la combinaison de bits mais trait�e en masse.

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [BCB6] Creation icone probleme de transparence
    Par winow dans le forum C++Builder
    R�ponses: 7
    Dernier message: 08/01/2009, 23h08
  2. Comment rendre transparent le tour d un icone
    Par NeoRonin dans le forum Composants VCL
    R�ponses: 7
    Dernier message: 03/03/2003, 01h40
  3. R�ponses: 1
    Dernier message: 23/02/2003, 06h22
  4. ouverture d'une form en fondu transparent
    Par nicholz dans le forum Composants VCL
    R�ponses: 9
    Dernier message: 08/01/2003, 11h06
  5. PB d'import avec les ActiveX sous BCB6
    Par dergen dans le forum C++Builder
    R�ponses: 4
    Dernier message: 29/11/2002, 10h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo