Les graphiques
Cette base de connaissance est relié au question en relation avec le Turbo Pascal et les graphiques
Est-ce que le Turbo Pascal fonctionne en mode Super VGA ?
Oui, si vous avez une carte vidéo compatible VESA, vous pouvez utiliser le fichier VESA16.BGI pour obtenir des résolutions élevées telles que 1024x768 pixels ou 800x600 pixels. Si vous souhaitez également une prise en charge de 256 couleurs, vous devez vous tourner vers une solution tierce.
Comment puis-je imprimer mon code graphique ?
Téléchargez les fichiers intitulés TI432.ZIP et TI433.ZIP à partir des bibliothèques.
Quand Borland mettra-t-il à niveau GRAPHICS TOOLBOX ?
La GRAPHICS TOOLBOX n'est plus disponible chez Borland sous quelque forme que ce soit depuis la version 4 du Turbo Pascal, et il n'y a absolument aucun projet de mise à niveau. Il devrait cependant être recompilable avec les versions récentes de Pascal, y compris les versions 6.0 et 7.0.
Comment puis-je utiliser les appels BGI sous Windows ?
Windows est un environnement d'exploitation graphique, il n'est donc plus nécessaire d'utiliser le BGI lors de la programmation sous Windows. Vous constaterez que Windows dispose d'un support intégré pour les graphiques étant bien supérieur à tout ce qui est disponible dans l'unité BGI. Pour commencer, essayez d'utiliser les manuels et les documents en ligne pour en savoir plus sur le GDI de Windows.
Comment puis-je ajouter une souris à mes programmes graphiques ?
En dehors de Windows, Borland n'offre aucun support intégré pour la souris dans vos programmes. Cependant, ajouter le support de la souris est extrêmement simple. Ceux qui connaissent l'assembleur peuvent ajouter le support de la souris avec l'interface de l'interruption 33h.
Comment utiliser le Mode-X en Turbo Pascal ?
Le Mode-X est une technique de programmation graphique en mode VGA, permettant de dépasser les limitations du mode VGA standard en accédant à une résolution de 320x240 avec 256 couleurs et d'autres fonctionnalités avancées, comme le double buffering. Le Turbo Pascal ne fournit pas directement un support pour le Mode-X, mais vous pouvez l'utiliser en manipulant directement le matériel VGA à l'aide de routines en langage d'assembleur.
Voici un exemple simplifié de la façon dont vous pouvez initialiser le Mode-X en Turbo Pascal et dessiner des pixels :
- Initialiser le Mode-X : Pour basculer le VGA en Mode-X (320x240), vous devez accéder directement aux registres du VGA :
- Configuration pour 320x240 : Le Mode-X utilise la résolution 320x240 en manipulant le registre CRTC pour changer le nombre de lignes affichées :
- Procedure Set320x240;Assembler;ASM
- MOV DX,3D4h { Sélecteur de registre CRTC }
- MOV AL,9 { Registre 9: Nombre maximum de ligne de balayage }
- OUT DX,AL
- INC DX
- IN AL,DX { Lire la valeur actuelle }
- AND AL,0E0h { Masquer les bits 0 à 4 }
- OR AL,1 { Définir les bits pour 240 lignes (double balayage) }
- OUT DX,AL
- END;
- Dessiner un pixel : Le Mode-X divise la mémoire vidéo en quatre plans, ce qui nécessite de sélectionner le plan correct avant d'écrire un pixel :
- Procedure PutPixel(X,Y:Integer;Color:Byte);
- Var
- Plane:Byte;
- Begin
- Plane:=X mod 4; { Calculer le plan à partir de la coordonnée X }
- ASM
- MOV DX,3C4h
- MOV AL,2
- MOV AH,Byte ptr plane
- SHL AH,1 { Déplacer le numéro de plan au bon endroit }
- OUT DX,AX
- MOV DX,3CEh
- MOV AL,4
- MOV AH,Byte Ptr Plane
- OUT DX,AX
- MOV AX,0A000h
- MOV ES,ax
- MOV DI,Word Ptr Y
- SHL DI,6 { Multiplier par 64 }
- SHL DI,2 { Multiplier par 4 (car 4 plans) }
- ADD DI,Word Ptr X
- SHR DI,2 { Diviser X par 4 }
- MOV AL,Byte Ptr Color
- STOSB { Écrire le pixel }
- END;
- END;
- Exécution du programme : Voici comment utiliser les procédures pour initialiser le mode et dessiner un pixel :
Ce code initialise le Mode-X, configure l'affichage en 320x240, et dessine un pixel au centre de l'écran, il existe également un mode-X de 320x400.
Le Mode-X nécessite une gestion directe du matériel, ce qui peut être complexe. Il est recommandé de bien comprendre les bases de la programmation en langage d'assemblage et de la gestion du matériel VGA avant de s'aventurer plus loin.