Accueil
 COURS INFORMATIQUE
 Cours Algorithmique
 Cours ASP
 Cours CSS
 Cours HTML
 Cours PHP / MySQL
 Cours Réseaux
 Cours SQL
 Cours Visual Basic
 ARTICLES
  Conception de sites
  Droit & Internet
  e-commerce
  Société
  Strategies du web
  Technologies Web
  Marketing Web
 LIVRES
  ASP/ASP.Net
  C/C++/C#
  Conception de sites
  DHTML/CSS
  Gestion de Projet
  HTML/Internet
  Java/JSP/J2EE
  JavaScript/VbScript
  Juridique
  Marketing/Stratégie
  PHP/Linux/Unix
  Réseaux
  XML/XHTML/XSL
 NETALYA RECOMMANDE
Reussir un projet de site web

Cours Visual Basic N°6
Quelques éléments sur les graphiques

Auteur : Christophe Darmangeat Imprimer ce cours

VB étant un langage objet, donc événementiel, et la douce saison des projets n’allant pas tarder à arriver (je vois déjà éclore les premiers bourgeons), il est grand temps de s’amuser un peu et de faire des trucs qui bougent et des machins qui remuent.

Utiliser (bêtement) la méthode Print

Form1.Print " Coucou "

Va écrire en haut à gauche de la Form " Coucou " . La prochaine instruction Print provoquera une écriture juste en dessous… sauf si nous avions terminé l’instruction précédente par un point-virgule. Auquel cas, la prochaine écriture s’effectuera à la suite.

Remarque : a priori, si vous redimensionnez la Form... le texte disparaît. Cela peut être gênant. Il est facile d’y remédier : fixez auparavant la propriété AutoRedraw de la Form à True. Attention, cela ralentit toutefois l’application. Il y a une autre solutions possibles : gérer soi-même l’événement Paint de la Form, qui correspond à un redimensionnement…

Intéressant : Print s’applique également à un contrôle Picture. Cela représente une alternative par rapport aux modifications de Label.Caption que nous avions utilisé jusque là.

Spécifier des couleurs

Il n’y a pas moins de trois systèmes de couleurs en VB, que vous pouvez utiliser indifféremment.

  • les couleurs définies par VB. Bous en trouverez la liste dans l’aide. Cela donnera des trucs du genre : Form1.ForeColor = VbBlack. Il y en a huit, plus la possibilité d’accéder directement aux couleurs de Windows (ça peut être pratique).
  • Les couleurs de la palette. Il y en a 16, auxquelles on accède par la fonction QBColor(i)
  • La fonction RBG. C’est de loin la plus puissante, car elle permet de définir une couleur par mélange de Rouge, Bleu, Vert, chacune de ces trois couleurs étant dosée de 0 à 255.

Les coordonnées

Dès que l’on va placer ou déplacer des objets graphiques, il va falloir spécifier les coordonnées. Et ce n’est pas toujours d’une simplicité biblique.

Premier point, sur lequel M. de Lapalisse, un ancien voisin à moi, ne m’aurait pas démenti : l’écran a deux dimensions. Cette forte pensée étant posée, il reste que l’origine (le point 0, 0) se trouve en haut à gauche, et pas du tout en bas à gauche, là où tout occidental, hormis Bill Gates, l’aurait placé.

Deuxième problème : comment savoir quelles sont les dimensions de l’objet sur lequel vous voulez dessiner ? La réponse vous est donnée par les propriétés ScaleHeight et ScaleWidth de l’objet.

L’astuce, c’est que l’on dispose de plusieurs unités de mesures possibles.

L’unité par défaut est le twip. Un twip, c’est très exactement 1/567e de centimètre. Le gros avantage de cette unité, c’est qu’elle est indépendante du périphérique utilisé. Un centimètre, c’est toujours un centimètre (nous négligerons ci les effets de la relativité, la vitesse moyenne de déplacement des écrans par rapport à celui qui les regarde étant généralement négligeable par rapport à la vitesse de la lumière).

Mais il y a aussi le pixel. L’avantage du pixel, c’est sa rapidité. Vous épargnez à Windows une conversion, puisque un pixel, c’est un point. Mais l’inconvénient, c’est que selon les résolutions d’écran, le nombre de pixels varie fortement… (le nombre de twips varie aussi selon la taille de l’écran, me direz-vous, alors perdu pour perdu…)

On modifie (ce qui n’est généralement pas indispensable) le système de mesures par la propriété ScaleMode.

Contrôles graphiques

1 contrôles image

Ce sont des contrôles de VB, exactement comme les zones de textes, les boutons, etc., mais qui ont pour but de contenir des jolis dessins. Enfin, des dessins. Il y en a deux : le contrôle PictureBox et le contrôle Image. Voici un bref récapitulatif de leurs caractéristiques respectives :

  PictureBox Image
Redimensionnement du contrôle Contenu non modifié Contenu déformé

(si Propriété Strech = True)

Taille mémoire Lourd Léger
Traçage de graphiques durant l’exécution Possible Impossible

De ces trois critères, sauf cas très spécial, seul le deuxième est réellement important. Conclusion, hormis exception, il faut choisir un Image pour poser des images.

2 contrôles graphiques

Il y a aussi le contrôle Shape. C’est un contrôle qui peut prendre des formes géométriques simples : lignes, rectangles, cercles, ellipses. Quant au contrôle Line, il se contente de tracer des lignes. Ces deux derniers contrôles peuvent éventuellement servir à faire des schémas, mais si on veut des vrais graphiques, on n’a pas trop intérêt à s’y attarder, d’autant plus que ces contrôles ne gèrent pas les événements souris.

3 méthodes graphiques

Il existe un certain nombre d’actions dites " méthodes graphiques ", qui ne sont pas des contrôles, mais qui sont du code qui a pour rôle de tracer des dessins sur un objet (une Form, notamment). Le dessin s’effectue donc au cours de l’exécution du programme. Donc, cela gagne de l’occupation mémoire par rapport à un contrôle similaire. Ce n’est pas que je croie que cela serve beaucoup, mais pour mémoire, on a :

Pset permet de tracer des pixels un par un :

Form1.Pset(x,y),couleur

Line permet de tracer des lignes :

Form1.Line(xdep,ydep)–(xarr,yarr),couleur
Form1.Line –(xarr,yarr),couleur trace à partir du dernier point d’arrivée
Form1.Line (xdep,ydep)–step(x,y) les secondes coordonnées sont ici relatives

Circle dessine cercles et ellipses :

Form1.Circle(x,y),r où x et y sont les coordonnées du centre et r le rayon

On peut également dessiner des arcs de cercle, en utilisant la syntaxe complète :

Form1.Circle(x,y),r,c,ad,ar,e

Où c est la couleur, ad et ar les angles de départ et d’arrivée… en radians. Quant à e, c’est un paramètre qui permet de tracer des ellipses : il exprime le rapport de la largeur sur la hauteur du cercle.

Utiliser des fichiers image

Lorsqu’on a recours dans une application VB à un fichier image (du type .bmp), par exemple, on pourrait penser qu’il suffit de poser un contrôle PictureBox, et de définir sa propriété Picture (son contenu) en désignant l’image voulue. Malheureusement, ce n’est pas si simple. A l’exécution, il ne suffira pas en effet qu’on ait dit qu’on voulait tel fichier image dans tel contrôle PictureBox. Il faudra aussi impérativement que ce fichier ait été préalablement chargé en mémoire.

Dès lors, il y a deux stratégies possibles.

  • Soit on inclut directement les fichiers image dans l’application. Cela donnera lieu à la sauvegarde de fichiers .frx. Avantage, les graphiques font dorénavant partie de l’exécutable, et on est certain qu’ils seront présents quand on en aura besoin. Inconvénient, cela alourdit l’exécutable.
  • Soit on utilise l’instruction LoadPicture dans le code. L’exécutable ira alors chercher le fichier désigné par cette ligne de code. Dans ce cas, le seul problème est d’être bien certain d’avoir installé les fichiers image avec votre exécutable, et dans le bon répertoire… Mais normalement, l’assistant d’installation prévoit ce cas et le gère tout seul, comme un grand.


Nous vous informons que ce cours constitue une œuvre protégée en France par le Code de la Propriété Intellectuelle, et à l’étranger par les conventions internationales en vigueur sur le droit d’auteur. La violation de l’un des droits d’auteur de l’œuvre est un délit de contrefaçon. Il est donc interdit, à titre privé ou public, de reproduire, copier, vendre, revendre ou exploiter, que ce soit dans un but commercial ou purement gratuit, ce cours, sauf accord exprès et préalable de son auteur.


Google
 
 RESSOURCES GRATUITES
 Caractères spéciaux
 Code Couleurs HTML
 Générateur Méta Tags
 Références HTML
 Scripts : ASP
 Scripts : Java Scripts
 PRATIQUE / OUTILS
 Salons Informatiques
 Astuces Windows
 TÉLÉCHARGEMENTS
 Utilitaires système
 Logiciels pratiques
 Jeux & démos
 INFOS SITE
 Contacts
 Mentions légales
 Qui sommes-nous ?
 PARTENAIRES
 Jeux et Jouets
 Murielle Cahen
 Cours d'anglais
 Droit NTIC
 Directeur Internet
 Australie
 Création site Internet
 VOD News
 Web Hostings