Bonjour,
Pourriez vous me dire comment afficher un fichier bmp en mode vga sous TP7?
Merci d'avance.![]()
Bonjour,
Pourriez vous me dire comment afficher un fichier bmp en mode vga sous TP7?
Merci d'avance.![]()
Faut savoir la "déchiffrer". Il existe plusieurs unités qui gèrent ça. Je te conseille la mienne (http://www.developpez.com/unite). Problème : elle utilise VESA et non pas simplement le mode VGA (mais tu peux l'adapter simplement).
uses Vesa2,Bmp,Clavier;
begin
LanceMode (640,480,8); { 640x480 pixels, 8 bits/pixel }
AfficheBmp (-1,-1,'image.bmp'); { (-1,-1) = centré }
LitTouche;
ModeTxt;
end.
Ca gère les images 4,8 et 24 bits/pixel (16, 256, 16.7 millons de couleurs), compressées ou non. Je te conseille de les compresser, voir d'utiliser le format PCX qui compresse encore mieux ... mais est moins courant. Microsoft Paint les gère ??? Paint Shop Pro le reconnait très bien, ACD See aussi.
uses Vesa2,Pcx,Clavier;
begin
LanceMode (640,480,8);
AffichePcx (-1,-1,'image.bmp'); { (-1,-1) = centré }
LitTouche;
ModeTxt;
end.
C'est la même syntaxe ;-)
@+ Haypo
Charly,
Voilà un bonne doc si tu veux :
http://fucke.multimania.com/formatbmp.pdf
non moi je les lit correctement je suis e qu on m a demander de faire ... je lis la taille et a partir de la j en deduis le nombre de ligne et de colone et avec sa je charge un bmp mais sa ne marche pas ...
je doitt faire une erreur ...
@+charly
As-tu seulement regardé nos unités (celle d'Haypo et la mienne) ?
Ce n'est pas si compliqué.
Je précise d'ailleurs en passant que mon unité, contrairement à celle d'Haypo, lit en prime les images bitmaps monochromes, ainsi que les images "bizarres" que j'ai pu rencontrer. Elle lit même les images "à l'envers", spécifiées dans la doc Windows... et qu'aucun programme Windows n'est capable de lire !
Pour avoir la dernière version, mailez-moi. Je la donnerais bientôt à Haypo.
A+
Format BMP :
Entête (Windows ou OS2) : chercher de la doc, ou copier/coller les structures de mon unité
Palette (si on a une image en 1, 4 ou 8 bits/pixel)
Données (image renversée verticalement)
Les données : ligne/ligne alignée sur 32 bits. Donc si l'image fait 31 pixels de large, il faudra lire 32 pixels. On ajoute (4-Larg and 3) si Larg and 3 ne vaut pas zéro. Faut 2 variables : une pour la taille exacte (pour l'affichage à l'écran), une pour la taille en octets (taille dans le fichier).
Après faut savoir lire le 1 bit/pixel, 4, 8 et 24.
@+ Haypo
Partager