CopyRect [Résolu]

Nicolas___
Messages postés
1039
Date d'inscription
jeudi 2 novembre 2000
Dernière intervention
24 avril 2013
- 21 janv. 2009 à 15:40 - Dernière réponse : Nicolas___
Messages postés
1039
Date d'inscription
jeudi 2 novembre 2000
Dernière intervention
24 avril 2013
- 22 janv. 2009 à 22:44
Bonjour à tout le monde ,

ben voila , j'ai une colle :

J'utilise CopyRect pour coller une partie d'une image(Bitmap) dans un canvas(Form ou n'importe quoi avec un canvas, c'est pr l'exemple) ,

Mais le problème c'est que copyRect oublie ma couleur de transparence de mon Bitmap !
Je fais :
Bitmap.TransparentColor := MY_TRANSPARENT_COLOR ;
Bitmap.Transparent:=True;

puis je réalise le CopyRect
Form.Canvas.CopyRect(Dest , Bitmap.Canvas , Src ) ;
et la , malheur pas de couleur de transparence
(En faisant un Form.Canvas.draw(0,0,Bitmap) la couleur de transparence marche très bien ...

J'ai bien essayer avec <> valeurs de CopyMode mais ca n'a rien changer ! à part foutre un merdier totale d'ailleurs je pige pas à quoi ca peux bien servir de s'amuser à changer les couleurs etc etc ...

CopyRect ne gère pas la transparence lors du "copiage" d'un canvas à un autre , ou faut-il passer à autre chose
(ca serait dommage parce que je la trouve plus qu'utile cette petite fonction )

Il y a t il une solution à ce problème ?

Merci

Nico 
Afficher la suite 

Votre réponse

12 réponses

Meilleure réponse
Cirec
Messages postés
4229
Date d'inscription
vendredi 23 juillet 2004
Dernière intervention
3 août 2018
- 21 janv. 2009 à 20:37
3
Merci
Salut,

as tu essayé avec TransparentBlt

 
@+
Cirec

<hr siz="" />

Merci Cirec 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 86 internautes ce mois-ci

Commenter la réponse de Cirec
Nicolas___
Messages postés
1039
Date d'inscription
jeudi 2 novembre 2000
Dernière intervention
24 avril 2013
- 21 janv. 2009 à 15:48
0
Merci
En regardant sur le net et DelphiFR, je me rends bien compte que je ne suis pas le seul a avoir ce problème ...
mais il n'y a jamais de réponses convaincantes !
Commenter la réponse de Nicolas___
Nicolas___
Messages postés
1039
Date d'inscription
jeudi 2 novembre 2000
Dernière intervention
24 avril 2013
- 21 janv. 2009 à 16:50
0
Merci
j'ai trouvé des réponses à mes recherches (en recherchant BitBlt) , j'ai trouvé 1 exemple demandant ce que je demandait et un autre avec BitBlt

http://delphi.developpez.com/sources/?page=sec_gra_applications

j'ai plus qu'a me démerder avec ca !
Commenter la réponse de Nicolas___
Nicolas___
Messages postés
1039
Date d'inscription
jeudi 2 novembre 2000
Dernière intervention
24 avril 2013
- 21 janv. 2009 à 17:34
0
Merci
Bon si quelqu'un (re)passe par ici :
Question perf :

est-il plus judicieux de faire 1 tableau dynamique contenant ts mes zones a vouloir dessiner et appelez Draw sur chaque cellule du mon tableau (qui representerait une zone de mon Bitmap)

ou utiliser CopyRect et seulement dessiner la zone en question (sans utiliser de tableau dans ce cas )

Maintenant sachant que la méthode proposée sur Developpez fait au moins 3 appels à copyRect , lesquel des 2 choix est le mieux ???

Je vais tester mais sincerment je n'en sais rien ...

Merci 
Commenter la réponse de Nicolas___
Nicolas___
Messages postés
1039
Date d'inscription
jeudi 2 novembre 2000
Dernière intervention
24 avril 2013
- 21 janv. 2009 à 19:06
0
Merci
j'ai retiré réponse accepté parce que j'y arrive pas !

C'est vraiment trop compliqué , enfin dans mon cas ...
Commenter la réponse de Nicolas___
Nicolas___
Messages postés
1039
Date d'inscription
jeudi 2 novembre 2000
Dernière intervention
24 avril 2013
- 21 janv. 2009 à 21:09
0
Merci
je ne connaissais pas, je me renseigne sur la fonction et je te dis quoi ...

L'aide de Delphi 7 ne la connais pas ...
Commenter la réponse de Nicolas___
Nicolas___
Messages postés
1039
Date d'inscription
jeudi 2 novembre 2000
Dernière intervention
24 avril 2013
- 21 janv. 2009 à 21:11
0
Merci
je ne sais pas si tu as vu : http://support.microsoft.com/kb/300555/fr
Bon je m'en fous j'ai Xp mais quand même ...
Commenter la réponse de Nicolas___
Nicolas___
Messages postés
1039
Date d'inscription
jeudi 2 novembre 2000
Dernière intervention
24 avril 2013
- 21 janv. 2009 à 21:35
0
Merci
Ca marche nickel , Merci :)
Commenter la réponse de Nicolas___
Caribensila
Messages postés
2684
Date d'inscription
jeudi 15 janvier 2004
Dernière intervention
26 juillet 2018
- 22 janv. 2009 à 00:42
0
Merci
Salut !

C'est peut-être la cavalerie qui arrive comme des cheveux dans la soupe [1 cheval : des cheveux(?)], mais as-tu vu ça, pour répondre à ta question : «d'ailleurs je pige pas à quoi ca peux bien servir de s'amuser à changer les couleurs etc etc»
Commenter la réponse de Caribensila
Nicolas___
Messages postés
1039
Date d'inscription
jeudi 2 novembre 2000
Dernière intervention
24 avril 2013
- 22 janv. 2009 à 12:21
0
Merci
Ah cari, t'as source est vraiment très intéressante , je n'avais pas beaucoup suivi à l'époque la saga !

Je vais approfondir ts ca (et peut être enfin comprendre ts ce mécanisme ) , ca semble en tout cas très complet

Merci  
Commenter la réponse de Nicolas___
Guillemouze
Messages postés
1015
Date d'inscription
samedi 25 octobre 2003
Dernière intervention
29 août 2013
- 22 janv. 2009 à 21:57
0
Merci
copyrect a un equivalent : Draw, qui prend en compte la transparence
Commenter la réponse de Guillemouze
Nicolas___
Messages postés
1039
Date d'inscription
jeudi 2 novembre 2000
Dernière intervention
24 avril 2013
- 22 janv. 2009 à 22:44
0
Merci
Je sais ca !
Mais draw dessine tous le bitmap tandis que CopyRect peut travailler par zone !
Commenter la réponse de Nicolas___

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.