Un simple algorythme de clippage d'image dans DirectDraw 7 expliquer (je l'espère) clairement. Il est souvent utile et on s'y arrache rapidement les cheveux pour le trouver. Il permet de mettre une surface dans le BackBuffer qui ne disparait pas si elle est au bord de la surface.
Somaire:
- Les bases de DirectDraw 7 ( seulement ce qui est en rapport avec l'algorythme, n'est vpas un cour de DirectDraw)
- Présentation de l'algorythme
- Apliquation dans Visual Basic (pas testé)
- Apliquation dans VC++
Explique ce qu'est une variable RECT
Source / Exemple :
Tout est dans le zip
PS.: C'est l'html
Conclusion :
Le code a été tester sous VC++ 6 mais pas sous VB 6.
J'attend vos remarques
1 oct. 2007 à 03:26
8 mars 2005 à 17:25
je voie pas la différence avec ma source?
Elle ne marchais pas?
Merci quand même
Colin CHARGY
6 mars 2005 à 21:16
X1 = 0, Y1=0, X2 = 32, Y2 = 32
Public Function DrawScrolledSurf(Surf As DirectDrawSurface7, _
ByVal X, ByVal Y, _
ByVal X1, ByVal X2, _
ByVal Y1, ByVal Y2)
If X < 0 Then
X1 = X1 - X
X = 0
End If
If Y < 0 Then
Y1 = Y1 - Y
Y = 0
End If
'Il suffit de remplacer 640 * 480 par la taille que l'on veux
If X + X2 > 640 Then X2 = X2 - ((X + X2) - 640)
If Y + Y2 > 480 Then Y2 = Y2 - ((Y + Y2) - 640)
Backbuffer.BltFast X, Y, Surf, ddRect(X1, Y1, X2, Y2), DDBLTFAST_WAIT Or DDBLTFAST_SRCCOLORKEY
End Function
J'espere avoir apporté quelque chose à cette source ...
6 mars 2005 à 13:51
Toutes mes escuses.
Les français n'est pas mon pt fort.
Merci
Colin CHARGY
6 mars 2005 à 12:15
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.