PSet en VB2005? [Résolu]

Messages postés
37
Date d'inscription
vendredi 10 septembre 2004
Dernière intervention
21 avril 2007
- - Dernière réponse : drnicholas001
Messages postés
37
Date d'inscription
vendredi 10 septembre 2004
Dernière intervention
21 avril 2007
- 27 oct. 2006 à 04:58
Salut,
j'ai un gros logiciel que j'ai fais sous VB6 qui utilisait très souvent la picturebox pour y dessiner des graphiques (genre des fonctions comme x^2). Mais là je veux continuer mon projet en VB2005, la picturebox existe toujours mais les commandes pset et line ne semble plus être disponible. Dans quoi je dois dessiner mon graphique?

merci :)
Afficher la suite 

Votre réponse

10 réponses

Meilleure réponse
Messages postés
7745
Date d'inscription
mercredi 1 septembre 2004
Dernière intervention
24 septembre 2014
3
Merci
Extrait du MSDN2005







Méthode Line



Dans Visual Basic 6.0, la méthode Line est utilisée pour dessiner un
rectangle en spécifiant les coordonnées des coins supérieur et inférieur
gauches, avec un argument
B
optionnel. La propriété
FillColor est utilisée pour remplir un rectangle d'une couleur unie, et
la propriété FillStyle remplit le rectangle de hachures croisées.


Dans Visual Basic 2005, la méthode <mshelp:link tabindex= "0" keywords="M:System.Drawing.Graphics.DrawRectangles(System.Drawing.Pen,System.Drawing.RectangleF[])">DrawRectangles</mshelp:link>
est utilisée pour dessiner la bordure d'un rectangle, et la méthode <mshelp:link tabindex="0" keywords="M:System.Drawing.Graphics.FillRectangle(System.Drawing.Brush,System.Drawing.Rectangle)">FillRectangle</mshelp:link>
est utilisée pour le remplir. FillRectangle utilise un objet <mshelp:link tabindex ="0" keywords= "F:System.Drawing.Imaging.ColorAdjustType.Brush">Brush</mshelp:link>
comme un paramètre. <mshelp:link tabindex="0" keywords="T:System.Drawing.SolidBrush">SolidBrush</mshelp:link> remplace la
propriété FillColor et les membres de la classe <mshelp:link tabindex ="0" keywords= "T:System.Drawing.Drawing2D.HatchBrush">HatchBrush</mshelp:link>
remplacent la propriété FillStyle .




Méthode PSet



Dans Visual Basic 6.0, la méthode PSet est utilisée pour modifier la
couleur d'un pixel sur un formulaire ou un contrôle PictureBox. Si la
propriété DrawWidth a une valeur supérieure à 1, la méthode PSet
dessine un cercle plein. Un paramètre optionnel est utilisé pour spécifier la
couleur ; s'il est omis, le paramètre ForeColor est utilisé.


Dans Visual Basic 2005, il n'existe aucun équivalent de la méthode
PSet. Pour modifier la couleur d'un seul pixel sur un formulaire ou sur
le contrôle PictureBox, utilisez la méthode DrawEllipse pour
dessiner un cercle avec une hauteur et une largeur de 1 pixel. Pour dupliquer
les fonctionnalités de PSet lorsque DrawWidth est supérieur à 1,
utilisez la méthode FillEllipse.













---- Sevyc64  (alias Casy) ----<hr size ="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 96 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_casy
Messages postés
7745
Date d'inscription
mercredi 1 septembre 2004
Dernière intervention
24 septembre 2014
3
Merci
DrawRectangle fait partie de la classe Graphics comme DrawLine, FillRectangle, et plein d'autres fonctions.

Pour les utiliser, il faut créer un nouveau graphique dans ta picturebox :

        Dim g As Graphics = MaPictureBox.CreateGraphics

        g.DrawRectangle(Pens.Beige, New Rectangle(15, 15, 100, 85))

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 96 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_casy
Messages postés
37
Date d'inscription
vendredi 10 septembre 2004
Dernière intervention
21 avril 2007
0
Merci
J'ai pas les méthodes DrawRectangle et DrawEllipse avec mon picturebox, est-ce que c'est bien pour le picturebox? En passant, j'utilise VB2005 Express Edition.
Commenter la réponse de drnicholas001
Messages postés
37
Date d'inscription
vendredi 10 septembre 2004
Dernière intervention
21 avril 2007
0
Merci
Ah cool, sa marche bien ;) Mais là j'ai une autre question, comment ont fait pour faire des scaleWith, scaleTop et etc. J'ai vu ScaleTransform mais sa pas lair de faire la même chose.
Commenter la réponse de drnicholas001
Messages postés
7745
Date d'inscription
mercredi 1 septembre 2004
Dernière intervention
24 septembre 2014
0
Merci
scaleWidth et scaleTop n'existe plusen .NET et ne doivent certainement pas avoir de remplacant, étant donner qu'il n'existe plus qu'un seul système de coordonnées en .NET c'est le pixel.

ScaleTransform semble bien etre l'application d'un facteur d'echelle, malgré les noms hautement scientifiques employer dans le msdn.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
Commenter la réponse de cs_casy
Messages postés
37
Date d'inscription
vendredi 10 septembre 2004
Dernière intervention
21 avril 2007
0
Merci
Ya quelques choses que je comprend pas de scaletransform, j'ai les lignes suivantes :

g.ScaleTransform(10, 10)

g.DrawRectangle(Pens.Black,

New Rectangle(5, 5, 10, 10))

Normalement le 1/4 de mon rectangle devrais être visible, mais non, il est presque qu'en plein centre, comme si j'avais écrit scaleTransform(40,40). Et si j'écrie scaleTransform (5,5) c'est comme si j'écrit scaleTransform(60,60). Donc plus mon chiffre est petit, plus mon scale est grand.
Commenter la réponse de drnicholas001
Messages postés
37
Date d'inscription
vendredi 10 septembre 2004
Dernière intervention
21 avril 2007
0
Merci
On dirais que scaleTransform à plus lair de faire un sorte de zoom. Par exemple, un scaleTransform (1,1) ne change rien, tandis que (2,2) alors l'image est 2 fois plus grosses.
Commenter la réponse de drnicholas001
Messages postés
7745
Date d'inscription
mercredi 1 septembre 2004
Dernière intervention
24 septembre 2014
0
Merci
Oui, c'est dans ce sens là que je l'avais compris

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
Commenter la réponse de cs_casy
Messages postés
37
Date d'inscription
vendredi 10 septembre 2004
Dernière intervention
21 avril 2007
0
Merci
Dans ce cas là c'est pas très pratique. Il faudrait ou bien que je me crée une fonction pour transformer de pixel à plan cartésien, ou créer un nouveau composant plan cartésien.
Commenter la réponse de drnicholas001
Messages postés
37
Date d'inscription
vendredi 10 septembre 2004
Dernière intervention
21 avril 2007
0
Merci
Ben je dois avouer que le picturebox de VB2005 est pour moi une énorme déception. Je suis vraiment perdu dans la nouvelle, comment est-ce que je suis supposé faire des Pset ou Line ou Circle ou Cls? Et pour le resize la méthode du scaleTransform ("Zoom") donne pas des résultats super.

J'ai essayé de faire un composant de mon picturebox dans VB6 pour l'importer dans VB2005. Sa marche pas pire, mais on dirais que VB2005 veux pas prendre les méthodes que j'ai dicté pour mon controle (alors je peux pas faire un Pset par exemple) tandis que ce même controle sous VB6 marche bien. Comment je suis supposé le forcer à prendre mes methods? Et est-ce que sa peux causer des gros problèmes de compatibilité plus tard? Finalement, il existerais pas un objet pour faire mes graph?
Commenter la réponse de drnicholas001

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.