DARK BASIC | |
3) Création ,chargement et utilisation des images
Qu-est ce qu'une image ?
Une image est un bitmap que l'ordinateur peux utiliser pour des opérations
très diverses. On peut charger une image (si elle est dans un répertoire ), en
créer une (et sauver sur le disque) ou l'utiliser dans un "sprite" ou
pour texturer un objet
=[ les formats acepté: BMP TGA PGN JPG JPEG GIF ]= ( les mêmes que les bitmaps)
Combien en existe t-il?
Vous pouvez charger 65535 images en même temps! Il faut néanmoins que leur
"numéro" soit situé entre 1 et 65535. L'image 0 est ce qui est
affiché à l'écrant. Donc si vous la sauvez, cela revient à appuyer sur la
touche "Imprime écran" de votre clavier (au dessus d'inser).
Comment les utiliser?
Pour charger une image, il faut écrire : load image "nom_de_l_image.bmp",numéro_de_l'image
en remplaçant bien évidemment par vos valeurs (par ex: load image "texture.bmp",1 )
Pour sauver une image, il faut écrire : save image "nom_de_l_image.bmp",numéro_de_l'image en remplaçant bien évidemment par vos valeurs (par ex: save image "texture02.bmp",1 )
Oui mais à quoi ça sert?
A modifier vos images et leur appliquer des effets (comme un flou, un
renversement, un assombrissement ...)
Pour illustrer ces explications, voici un programme : une image chargée chargée vas être modifiée pendant un certain temps. ( il faut néanmoins télécharger l'image suivante et la mettre dans le dossier du programme ; vous pouvez copier/coller ce programme dans dark basic)
rem sprite
rem on efface l'écran en blanc
cls rgb(255,255,255)
ink rgb(0,0,0),rgb(255,255,255)
rem on charge le bitmap dans une image
load image "test.bmp",1
rem début de la première boucle
for a=0 to 100
rem sprite aux positions de la souris
sprite 1,mousex()-72,mousey()-72,1
rem chrono:
text 0,0,"sprite suivant la souris:"+str$(a)+"% du temps"
rem on efface
cls
rem fin de la première boucle
next a
rem on place le sprite en 0,0
sprite 1,-1,-1,1
rem début de la deuxième boucle
for a=0 to 100
rem sprite aux positions de la souris
size sprite 1,mousex(),mousey()
rem chrono:
text 0,0,"zoom du sprite avec la souris:"+str$(a)+"% du temps"
rem on efface
cls
rem fin de la deuxième boucle
next a
dans ce programme :
L'image 1 est l'image téléchargée plus haut.
Le sprite 1 est l'image 1 déformée ou déplacée.
Et un petit rendu du programme :
Commandes et syntaxe relative à ce tutorial :
LOAD IMAGE "Nom de l'image
.BMP"numéro d'image : Sert à charger une image (au format
BMP, TGA, JPG(ou JPEG), PNG, GIF(mais les animations seront perdues) )
SAVE IMAGE "Nom de l'image .BMP",
numéro d'image : Sert à sauvegarder une image sur le disque
dur
SPRITE numéro de sprite, PositionX, PositionY,
numéro d'image : Sert à attribuer le statut de sprite à une
image; vous pouvez ainsi l'étirer, la réajuster, la déplacer sur l'écran ...
REM : Un sprite sera affiché DEVANT tout les
objets3D, images, bitmaps ...
MOUSEX() : position sur l'axe X
du curceur
MOUSEY() : position sur l'axe Y du
curceur
STR$(variable) : Convertit la
valeur d'une variable en chaîne (String).
VAL(chaîne) : Convertit la valeur
d'une chaîne (String) en variable.