Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : directdraw creation de surface depuis un Stream [ Archives Visual Basic / Graphique ] (MrDogbert)

mardi 13 juillet 2004 à 20:30:08 | directdraw creation de surface depuis un Stream

MrDogbert

Si quelqu'un sait comment créer une surface depuis autre chose qu'un nom de fichier (un Stream ou un objet Image seraient l'ideal) je suis preneur!!!

merci par avance.


MRDOGBERT

mardi 13 juillet 2004 à 20:41:04 | Re : directdraw creation de surface depuis un Stream

MrDogbert

oups ... suis je distrait .... j avais oublié de préciser que je travaille avec vb.net alors ce serait beaucoup mieux si la solution n'utiliser pas winapi mais le framework.net.

re merci.

MRDOGBERT

mercredi 14 juillet 2004 à 15:52:13 | Re : directdraw creation de surface depuis un Stream

MrDogbert

pour ceux que ca interesse, voici une petite solution :

soit DD l objet DirectDraw7



Public Function getSurfaceFromStream(ByVal stream As Stream) As DirectDrawSurface7

Dim b As Image = New Bitmap(stream)

'Obtenir la surface
Dim desc As DDSURFACEDESC2
desc.lFlags = DDSD_CAPS Or DDSD_HEIGHT Or DDSD_WIDTH
desc.lWidth = b.Width
desc.lHeight = b.Height
desc.ddsCaps.lCaps = DDSCAPS_OFFSCREENPLAIN
Dim surface As DirectDrawSurface7 = DD.CreateSurface(desc)

'création d'un Graphics a partir du HDC de la surface
Dim hdc As Integer = surface.GetDC()
Dim dest As Graphics = Graphics.FromHdc(New IntPtr(hdc))

'copie de l'image
dest.DrawImage(b, 0, 0, b.Width, b.Height)

'libération de la mémoire
dest.Dispose()

'release du HDC
surface.ReleaseDC(hdc)

Dim key As DDCOLORKEY
key.low = RGB(255, 0, 255)
key.high = RGB(255, 0, 255)
surface.SetColorKey(DDCKEY_SRCBLT, key)

Return surface
End Function



C'ets une solution rapide de prototypage alors ne hurlez pas sur la facon de coder ...
Par contre si qqun a mieux je suis toujours preneur.

au fait, si qqun peut me dire pourquoi l aide de Visual Studio 2002 indique les fonctions FromHdc, etc ... pour la classe Graphics alors que la complétion de mot sous l editeur ne les affiche pas ?

MRDOGBERT



Cette discussion est classé dans : directdraw, creation, stream, red, surface


Répondre à ce message

Sujets en rapport avec ce message

[red]URGENT... CREATION D'UN FORMULAIRE DYNAMIQUE[/red] [ par Lestad ] Comment faire pour créer un masque de saisie(formulaire) en création sous VB en insérant des contrôles à partir des informations fournies par une appl Besoin d'aide avec DirectDraw 7 [ par gui2 ] J'aimerais savoir comment Blitter ( Blt, BltFx...) une surface avec des coordonnées dépassant les limites de la surface cible sans qu'elle disparaisse DirectDraw - Cree une surface avec une PictureBox [ par PinkRabbit84 ] Comme il est dit dans le titre j'aimerai(meme qu'il faudrai) cree une surface a partir de ce que contient une PictureBox. J'ai penser a DD.CreateSurfa VB crash quand il charge une image .bmp 256 colors avec DirectDraw [ par Towser ] Bonjour ! j'essaie de charger une image .bmp 256 colors avec DirectDraw. Lorsque je fais cela soit VB crash ou bien l'image n'est pas copié sur l'écra DirectDraw dans un controle MFC ? [ par TigWdz ] Bonjour,Je voudrait créer une surface DirectDraw dans une boite de dialogue MFC (dans un "Picture Control" par exemple, pour avoir de boutons a cotés) DirectDraw dans un controle MFC ? [ par TigWdz ] Bonjour,Je voudrait créer une surface DirectDraw dans une boite de dialogue MFC (dans un "Picture Control" par exemple, pour avoir de boutons a cotés) Une surface DirectDraw dans un controle MFC ? [ par TigWdz ] Bonjour,Je voudrait créer une surface DirectDraw dans une boite de dialogue MFC (dans un "Picture Control" par exemple, pour avoir de boutons a cotés) DirectX -> DirectDraw [ par ShadowMaster ] Bonjour je vous explique mon probleme: j'aimerai savoir si il est possible de "prendre" la couleur d'un pixel dans une surface directDraw un truc du g Texte centré avec DirectDraw ??? [ par Nakah ] Bonjour,Je voudrais savoir s'il est possible de centré du texte dans une Surface lorsqu'on utilise la méthode Surface.DrawText ? Directdraw + redimensionnement surfaces [ par Pof ] bon je suis po tres avancé en directdraw, mais j'aimerais savoir si on peut faire un fastblt d'une surface en la redimensionnant, et comment? et si po


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version


LG KP501

Entre 9€ et 159€


Photothèque Nouveau !



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
Temps d'éxécution de la page : 1,638 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.