drnicholas001
Messages postés37Date d'inscriptionvendredi 10 septembre 2004StatutMembreDernière intervention21 avril 2007
-
26 oct. 2006 à 16:28
drnicholas001
Messages postés37Date d'inscriptionvendredi 10 septembre 2004StatutMembreDernière intervention21 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?
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 26 oct. 2006 à 16:37
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 #
drnicholas001
Messages postés37Date d'inscriptionvendredi 10 septembre 2004StatutMembreDernière intervention21 avril 2007 26 oct. 2006 à 17:08
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.
drnicholas001
Messages postés37Date d'inscriptionvendredi 10 septembre 2004StatutMembreDernière intervention21 avril 2007 26 oct. 2006 à 21:11
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.
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 26 oct. 2006 à 21:33
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 #
drnicholas001
Messages postés37Date d'inscriptionvendredi 10 septembre 2004StatutMembreDernière intervention21 avril 2007 26 oct. 2006 à 22:15
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.
drnicholas001
Messages postés37Date d'inscriptionvendredi 10 septembre 2004StatutMembreDernière intervention21 avril 2007 26 oct. 2006 à 22:48
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.
drnicholas001
Messages postés37Date d'inscriptionvendredi 10 septembre 2004StatutMembreDernière intervention21 avril 2007 26 oct. 2006 à 23:10
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.
drnicholas001
Messages postés37Date d'inscriptionvendredi 10 septembre 2004StatutMembreDernière intervention21 avril 2007 27 oct. 2006 à 04:58
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?