Les unités de Pure Pascal (langage Pascal pour les ordinateurs de la gamme Atari ST), compatible Turbo Pascal.
Unité Graph : Fonction ImageSizeDéclarationfunction ImageSize( x1, y1, x2, y2 : Integer ) : LongIntDescriptionLa fonction ImageSize calcule la taille de la section d'écran avec les points d'angle (x1, y1) et (x2, y2) plus une constante pour la taille d'un buffer, comme c'est le cas pour l'utilisation de GetImage et PutImage sont requis.Avant d'appeler ImageSize, vous devez passer en mode graphique avec InitGraph ou SetGraphMode. Références croisées GetImage PutImage Exempleuses Graph; var driver, mode : Integer; p : Pointer; size : LongInt; begin driver := Detect; InitGraph( driver, mode, '' ); Bar( 20, 20, 80, 80 ); SetFillStyle( HatchFill, 1 ); Bar( 40, 40, 100, 100 ); size := ImageSize( 30, 30, 70, 70 ); GetMem( p, size ); GetImage( 30, 30, 70, 70, p^ ); Readln; PutImage( 130, 30, p^, NormalPut ); PutImage( 20, 20, p^, XORPut ); Readln; CloseGraph; end. Format de sauvegarde (Ajout du webmaster Bruno AUBIN)Avec la procédure GetImage, le format de sauvegarde dans la zone mémore pointée par la variable image est ainsi donnée:
Le format des données dépend du nombre de bits données dans le 3ème paramètre d'entête. En général, le nombre de bits est de 1 bit (2 couleurs possibles), 2 bits (4 couleurs possibles), 4 bits (16 couleurs), 8 bits (256 couleurs), 16 bits soit 2 octets (65536 couleurs comme sur l'Atari Falcon 030) ou 24 bits soit 3 octets (Format true color).
Si vous voulez écrire une fonction ou une procédure pour manipuler les données du pointeur image, vous devez donc tenir compte du nombre de bits par couleur (3ème paramètre) sauvegardé dans cette zone. S'il s'agit de 4 bits, cela signifie qu'un octet (8 bits) donne les couleurs de 2 pixels consécutifs. S'il s'agit de 2 bits, un octet donnera les couleurs de 4 pixels consécutifs.
Important : Il est à noter aussi que pour chaque rangée, le format image utilise des données pour un multiple de 8 pixels par excès. Ca signifie que si vous enregistrez 65 pxl de large (64+1), la fonction GetImagesize prendra en compte 72 pixels de large (au lieu de 65)! ExempleSi vous avez sauvegardé une image de 37×32 pxl, le nombre de pixel de large sera de Round(37/8 + 0.5)×8 = 40 et la place nécessaire en octets sera de :
|
Vous trouverez dans cette zone la liste de toutes les Unités (équivalent des "Librairies" en C) de Pure Pascal. Les Unités indiqués comme standards existent dans la majorité des compilateurs Pascal existant sur ordinateurs 16 bits et au dela (dont Turbo Pascal 3 mini). Les unités indiqués comme Atari sont spécifiques aux systèmes d'exploitation des Atari ST (TOS n.n).
Accès aux unités
Les menus déroulants de chaque unité sont des accès directs aux procédures et fonctions, classés alphabétiquement (sans tenir compte de la casse, puisque le langage Pascal ne tient pas compte de la casse!)Cette page Unités est issu du fichier UNIT.HLP de la documentation de Pure Pascal (d'Application Systems Heidelberg), qui a été convertie en format TXT puis traduite de l'Allemand grâce à Google Translator : des milliers de copier/coller de et vers Google translator ont été nécessaires, ne connaissant pas un mot d'Allemand!
Les unités CRT, DOS, Graph, Overlay, Printer et System sont standard à TOUS les compilateurs Pascal compatible avec Turbo Pascal 5. L'unité String a été introduit avec Turbo Pascal 7 (Et Pure Pascal 1.1) et permet de manipuler les chaines de caractères de type langage C. Les Unités GEM (VDI et AES) et TOS (BIOS, GEMDOS et XBIOS) sont spécifiques au système Atari ST et contiennent parfois des fonctions équivalentes à certaines fonctions des Unités générales (notamment BIOS). Les fonction XBIOS sont des fonctions permettant de tirer pleinement partie du matériel spécifique Atari, notamment Falcon (Audio, DSP, Blitter, Résolutions étendues etc)