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 : API PolyBezier [ Multimédia / Image & Vidéo ] (nikko_s)

mardi 22 avril 2008 à 14:15:00 | API PolyBezier

nikko_s

Bonjours tous le monde,

Je souhaite effectuer un lissage de courbe avec l'API polyBezier mais je ne trouve pas d'exemple satisfaisant de l'utilisation de cette API en vb6.
Je souhaiterai procéder ainsi :

Mes points (ceux de mon graphique MSChart) sont stockés dans un tableau et  je voudrais faire un lissage de ces points via cette API et reconstruire la courbe avec Mschart ensuite.

J'aimerai avoir un exemple d'utilisation de cette api :

BOOL PolyBezier
(
  HDC          hdc,
  const POINT* lppt,
  DWORD        cPoints
)

hDc
[In]Handle to device context. trouve
lppt[In]Pointer to endpoints and control points.
cPoints[In]Count of endpoints and control points.

De plus j'ai trouver un exemple qui reconstruit la courbe lissée dans une picturebox grâce à Picture1.hdc (PolyBezier(Picture1.hdc,...)
Que dois-je utiliser comme paramètre avec ma MSChart à la place de .hdc ?

Merci

mardi 22 avril 2008 à 14:56:48 | Re : API PolyBezier

lolokun

Réponse acceptée !
Bonjour,

Tu peux récupérer le hdc de ta mschart en utilisant l'API suivante :

Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long
GetDC (MSChart1.hwnd)

Il te suffit donc ensuite de mettre PolyBezier(Getdc(MsChart1.hwnd),... au lieu de picture1.hdc et cela devrait fonctionner

L'expérience, c'est une connerie par jour, mais jamais la même..

mardi 22 avril 2008 à 15:40:39 | Re : API PolyBezier

nikko_s

Réponse acceptée !
OK merci je récupère bien mon hdc avec cette fonction

Par contre toujours pas réussi à faire fonctionner l'api dans mon code...
Personne aurai un exemple concret pour cette api avec un control MSChart ?

Merci

mardi 22 avril 2008 à 17:13:13 | Re : API PolyBezier

lolokun

Réponse acceptée !
Re,

Tu trouveras quelques trucs (explication + 1 soucre) ici

Private Type POINTAPI
        X As Long
        Y As Long
End Type

Dim Bez(3) As POINTAPI
Dim i As Integer

Private Declare Function PolyBezier Lib "gdi32" (ByVal hdc As Long, lppt As POINTAPI, ByVal cPoints As Long) As Long
Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long

Private Sub Command1_Click()

Bez(0).X = 0 
Bez(0).Y = 5
Bez(1).X = 2
Bez(1).Y = 3
Bez(2).X = 50
Bez(2).Y = 200
Bez(3).X = 300
Bez(3).Y = 140

Call PolyBezier(GetDC(MSChart1.hwnd), Bez(0), 4)

Ca a l'air de fonctionner, il faut juste que tu récupères tes valeurs dans ton tableau, et faire en sorte que l'échelle du mschart se redimensionne...

L'expérience, c'est une connerie par jour, mais jamais la même..

mardi 22 avril 2008 à 17:26:42 | Re : API PolyBezier

nikko_s

Réponse acceptée !
Ok je vais essayer ça tout de suite ! Par contre je tiendrai au courant que demain  car la je quitte mon lieu de stage et après plus de net, car pas internet chez moi en ce moment...

MERCI en attendant!

@ + bonne soirée

mercredi 23 avril 2008 à 10:16:05 | Re : API PolyBezier

nikko_s

Réponse acceptée !
Bonjour,

Alors, j'ai essayé ton exemple et ça a fonctionné tout de suite. Effectivement j'utilisais l'api quasiment comme ton exemple dans mon code sauf que j'utilisais une boucle pour remplir Bez.X et Bez.Y. J'avais une erreur dans cette boucle et mes tableaux étaient mal dimensionnés.
Cette soultion fonctionne.

Merci bonne journée

@+



Cette discussion est classé dans : points, api, hdc, courbe, polybezier


Répondre à ce message

Sujets en rapport avec ce message

Question sur Printer.hdc ????? [ par jcconi ] Je travaille sous access 2000 et j'utilise donc VBA! IL se trouve que je doit utiliser des api genre GetDeviceCaps. Mais c'est api on besoin d'un para roundrect en pointillée [ par Kelpan ] Salut je cherche déseperement le moyen de dessiner un rounded rectangle en pointillée grace à l'api roundrect.Vous me dirait de mettre la propriété dr API Rectangle hDC [ par peug ] Bonjour, j'essai de dessiner avec l'API.Dans un ActiveX, comment utiliser la fonction Rectangle ?Je crée une sub :Public Sub DrawRectangle(ByRef hDC A API - hDC Résolution PRinter [ par peug ] Bonjour,Je fais une ActiveX en utilisant les fonctions de dessin API. Lorsque je souhaite envoyer ce qui est dessiné sur le UserControl vers le hDC du Tracé de Courbe à partir de Points [ par polly60 ] salut, j'ai besoin d'aide...Voilà, j'ai une dizaine de points avec chacun des coordonnées(x,y) et donc je voudrai pouvoir tracé une courbe a partir de API : HDC et Setpixel [ par Stephane ] Salut à tous voila, dans le cadre d'un projet encadré, je realise une compression d'images. Mon problème est que au moment d'afficher l'image,(j'util Tracé d'une courbe "NON CONTINUE" [ par akdmks ] Bjr, J'ai une courbe a tracer dans une mschart, jusque la tout va bien. le prob, c'est que pour certains points, je n'ai pas la donnée, donc en gros, Besoin de tracer une courbe [ par Talere ] Bonjour,J'aurais besoin de tracer une courbe composé d'une quantité énorme de point (X;Y) (30000, 100000 points voir plus encore). De cette courbe, je aide [ par nico9360 ] bonjourje suis novice en visual basica mon boulot j ai une application vb qui permet de voir en temps reel une courbe représentantle profil d'une piéc


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

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,248 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é.