Basic Univers
; -----------------------------------------
; Created by CameleonTH
; CameleonTH Image Library (CIL)
; -----------------------------------------



; *****************************************
;
; Permet d'effectuer des rotations aux images, mais aussi :
;     * de supperposer les couleurs
;     * de jouer sur la clartée
;     * de les convertir en noir & blanc
;     * de les comparer (et faire apparaitres les zones de différences)
;     * de les afficher sous forme négatif
;     * de mettre les couleurs sous la forme VBR (inversion)
;
; *****************************************



;- Enumeration
Enumeration
  #in1
  #in2
  #in3
  #out
  #power = 2
EndEnumeration

;- Initialise les images et le format JPEG
UseJPEGImageDecoder()
LoadImage(#in1, "chien1.jpg")
LoadImage(#in2, "chien2.jpg")
LoadImage(#in3, "chien3.jpg")
CreateImage(#out, 640, 480)

;- Attention
; pour les commandes CIL_Diff et CIL_Add, la seconde image est redimmensionner @ la mémé taille que la premiére image
; en fonction de l'image le temps de traitement peut varier
; tous les fichier de sauvegarde des effets sont dans le dossier "c:\test\"
CreateDirectory("c:\test\")
If CIL_Diff(#in1, #in2, #out)= 0 ; Permet de voie la différence entre #in2 images en fonction de la couleur des pixels
  SaveImage(#out, "c:\test\test Diff.bmp")
  Debug "Test de difference terminée"
Else
  Debug "Une des images n'a pu etre trouvé"
EndIf

If CIL_Add(#in1, #in3, #out)= 0 ; Permet de mélanger les #in2 images (la j'ai volontairement mis une autre photo pour bien montrer l'effet)
  SaveImage(#out, "c:\test\test Add.bmp")
  Debug "Test d'addition terminée"
Else
  Debug "Une des images n'a pu etre trouvé"
EndIf

If CIL_Negatif(#in1, #out)= 0 ; Inverse les couleurs de l'image (ex: blanc devient noir ,etc...)
  SaveImage(#out, "c:\test\Test Negatif.bmp")
  Debug "Test de rendu négatif terminée"
Else
  Debug "Une des images n'a pu etre trouvé"
EndIf

If CIL_Monochrome(#in1, #out)= 0 ; L'image devient monochrome (noir et blanc)
  SaveImage(#out, "c:\test\Test Mono.bmp")
  Debug "Test de rendu monochrome terminée"
Else
  Debug "Une des images n'a pu etre trouvé"
EndIf

If CIL_RGBtoVBR(#in1, #out)= 0 ; Convertit l'image en VBR au lieu du RGB (Rouge devient Vert, Vert devient bleu, Bleu devient Rouge)
  SaveImage(#out, "c:\test\Test VBR.bmp")
  Debug "Test de rendu VBR terminée"
Else
  Debug "Une des images n'a pu etre trouvé"
EndIf

If CIL_Light(#in1, #out, #power)= 0 ; Fais varier la puissance lumineuse de l'image (1 est la puissance lumineuse de base)
  SaveImage(#out, "c:\test\Test Light.bmp")
  Debug "Test de lumiére terminée"
Else
  Debug "Une des images n'a pu etre trouvé"
EndIf

If CIL_Rotation90Left(#in1, #out)= 0 ; Permet de faire tourner l'image de 90° dans le sens inverse de aiguille d'une montre
  SaveImage(#out, "c:\test\Test 90L.bmp")
  Debug "Test de rotation terminée"
Else
  Debug "Une des images n'a pu etre trouvé"
EndIf

If CIL_MirrorVertical(#in1, #out)= 0 ; Permet de placer un mirroir pour voir la gauche a droite :D
  SaveImage(#out, "c:\test\Test MirrorV.bmp")
  Debug "Test de mirroir terminée"
Else
  Debug "Une des images n'a pu etre trouvé"
EndIf

If CIL_MirrorHorizontal(#in1, #out)= 0 ; Permet de placer un mirroir pour voir Le sol au plafond :D
  SaveImage(#out, "c:\test\Test MirrorH.bmp")
  Debug "Test de mirroir terminée"
Else
  Debug "Une des images n'a pu etre trouvé"
EndIf