BLUCKY (EFFET SPECIAL UTILISÉ AU CINEMA ET A LA TÉLÉ)

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 - 23 mai 2003 à 16:01
cs_TheHacker Messages postés 442 Date d'inscription samedi 23 novembre 2002 Statut Membre Dernière intervention 19 octobre 2005 - 26 mai 2003 à 17:22
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/7205-blucky-effet-special-utilise-au-cinema-et-a-la-tele

cs_TheHacker Messages postés 442 Date d'inscription samedi 23 novembre 2002 Statut Membre Dernière intervention 19 octobre 2005
26 mai 2003 à 17:22
cool merci !
je vais jeter un coup d'oeil !
cs_EBArtSoft Messages postés 4525 Date d'inscription dimanche 29 septembre 2002 Statut Modérateur Dernière intervention 22 avril 2019 9
25 mai 2003 à 22:52
cs_TheHacker Messages postés 442 Date d'inscription samedi 23 novembre 2002 Statut Membre Dernière intervention 19 octobre 2005
25 mai 2003 à 21:34
tu comptes mettre squand la source ?
cs_TheHacker Messages postés 442 Date d'inscription samedi 23 novembre 2002 Statut Membre Dernière intervention 19 octobre 2005
24 mai 2003 à 12:46
pour les sources t'as qu'a me les envoyer, ou bie nencore mieux les mettre ssur VBfrance pour en faire profiter tt le monde
cs_TheHacker Messages postés 442 Date d'inscription samedi 23 novembre 2002 Statut Membre Dernière intervention 19 octobre 2005
24 mai 2003 à 10:46
salut, ouai ca serait cool pour la source , merci !
cs_EBArtSoft Messages postés 4525 Date d'inscription dimanche 29 septembre 2002 Statut Modérateur Dernière intervention 22 avril 2019 9
24 mai 2003 à 00:42
TheHacker

et bien mon ami ce n'est pas que j'aime pas car c vrai que le but est
atteind mais esce que tu te rend compte que tu ne fait rien d'autre que de dessinerun sprite sur un decors ????

et as-tu remarqué la vitesse de ton algo.....
alors imagine un jeu entier reposant sur ta source !! NON !! impossible

donc comme je te le disait plus haut il te suffit juste
de jouer avec l'API BitBlt et avec les constante de Raster
c pas plus compliquer d'abord tu crée le mask de ton sprite
(image noir sur fond blanc) puis tu decoupe ton sprite
(image couleur sur fond bleue par exemple) puis tu combine les deux
sur ton decors !!!

Rien de plus simple et de plus efficace !!
il suffit de regarder la fonction GdiTransparentBlt pour s'appercevoir qu'elle fait appel elle aussi a BitBlt (mais mache le travail et applique une gamma) !!

voila rien de plus...
si tu ve le detail de mon explication (les sources) fait le moi savoir

@+ et bonne prog ;-D
yoman64 Messages postés 962 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 2 août 2010 2
23 mai 2003 à 21:48
Re snif...
cs_TheHacker Messages postés 442 Date d'inscription samedi 23 novembre 2002 Statut Membre Dernière intervention 19 octobre 2005
23 mai 2003 à 16:43
ok, alors merci pour les tuyaux :-D
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
23 mai 2003 à 16:34
l'api, comme precisé susditement, ne fonctionne pas sous 98

la modification apportée est :

SavePicture Form2.Picture1.Image, CD.FileName
au lieu de
SavePicture Form2.Picture1.Picture, CD.FileName

subtile, mais ca change tout...

quand ensuite, notre ami parle de base (et il a raison), il veux dire que de nombreux softs utilisent ce principe, et les jeux n'y font pas (loin de la) exception !!
plusieurs sources sur le site utilisent cela, mais ce n'est pas le but principal de leur sources, voila donc pourquoi tu ne l'avais pas trouvé ici..... (j'ai pas cherché, mais on te fait confiance...)
cs_TheHacker Messages postés 442 Date d'inscription samedi 23 novembre 2002 Statut Membre Dernière intervention 19 octobre 2005
23 mai 2003 à 16:21
Renfield >Waou, ca fait bcp comme amélioration, t sur que ton API marche sur tt les OS de windows ???
sinon pour l'enregistrement, j'veux bien changer, mais j'pige pas l'amélioration, t'as fait un copier coller la, t'as du oublié de mettre la modification ....
sinon ton API GdiTransparentBlt , il fait quoi exactement ?
Yoman> je suis content que ca te plaise ! :-)
EBArtSoft > j'pige pas, t'aime bien ou pas l'prog ??? parce qu'en debut de message tu dit que c la base, mais j'ai pas encore vu ce prog sur VBrance .

@+
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
23 mai 2003 à 16:12
TransparentBlit ne fonctionne en effet pas sous 98....
yoman64 Messages postés 962 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 2 août 2010 2
23 mai 2003 à 16:09
C pas juste ,je mapretais a poster une source de ce genre...Sniff
Eb t-k je vais la poster kan meme parce ke moi ya plus doption mais c bien 10/10
cs_EBArtSoft Messages postés 4525 Date d'inscription dimanche 29 septembre 2002 Statut Modérateur Dernière intervention 22 avril 2019 9
23 mai 2003 à 16:08
loooooool ben dit donc tu sort d'ou toi ...
ça s'appel aussi Sprite et c la base de toute application graphique !!!
mais bon je sait peut etre que tu debute alors la ce serait normal ;-D

Ecoute Renfield il est de bon conseil ....
par contre je suis pas sur que GdiTransparentBlt soit un proto
accessible sur toute les version de Windows !

tu devrais passer par des Bitblt en utilisant les RasterOp (vbSrcCopy,vbSrcAnd,vbMergePaint)
et tu peut meme le faire avec PaintPicture !

bonne pr@g
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
23 mai 2003 à 16:05
autre chose , il y a une raison très simple , qui explique qu'on utilise le bleu ou le vert , c'est que la peau contient pas de pigments de cette couleur !! (sauf les schtroumpfs). si on utilisait du rouge, par exemple, on ne verrait pas (ou peu) les acteurs..... car on n'uilise jamais une couleur clef, mais en fait un gamme de couleurs, car selon l'eclairage, l'inclinaison.... la couleur n'est pas unie !! donc on prend une gamme de bleus ou de verts.....
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
23 mai 2003 à 16:01
pas trop mal, niveau 2 je sais pas , mais pas mal....

a mon avis , ca s'appelle "BlueKey"

pour l'enregistrement , met plutot ca :

Private Sub MnuSave_Click()
On Error GoTo ok
CD.CancelError = True
CD.DialogTitle = "Enregistrer votre création !:-)"
CD.ShowSave
SavePicture Form2.Picture1.Image, CD.FileName
Exit Sub
ok:
End Sub

en effet si l'autoredraw est a true tout ce que tu dessines va sur la propriete .image qui tiens pour l'image permanente.....

autre chose , on peut faire (beaucoup) plus rapide !!! :

'Ajoutes ca dans ton module...
Public Declare Function GdiTransparentBlt Lib "gdi32.dll" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal nSrcWidth As Long, ByVal nSrcHeight As Long, ByVal crTransparent As Long) As Boolean


'Et ca a la place de ton autre procedure...
Private Sub MnuChange_Click()
If CoolBlucky 0 Then m MsgBox("Attention:veuillez saisir une couleur pour le blucky !", vbCritical, "Couleur du clucky !"): Exit Sub
Picture1.ScaleMode = vbPixels
Form2.Picture1.ScaleMode = vbPixels

Call GdiTransparentBlt(Form2.Picture1.hdc, 0, 0, Picture1.ScaleWidth, Picture1.ScaleHeight, Picture1.hdc, 0, 0, Picture1.ScaleWidth, Picture1.ScaleHeight, CoolBlucky)
call MsgBox("Finished !", vbInformation, "Effet blucky")
End Sub
Rejoignez-nous