Page 1 sur 1

StartDrawing [réglé]

Publié : mer. 15/avr./2009 16:46
par MetalOS
Salut tous le monde, j'ai fait une recherche dans le forum mais je n'est pas trouvé ma solution. Je voulais savoir si quand on utilisais la commande

Code : Tout sélectionner

StartDrawing(ImageOutput(#Image)
on pouvais changer dans "ImageOutput(#Image)" le #Image par une variable de type String qui contient le chemin vers une image.

Exemple:

Code : Tout sélectionner


Chemin$ = "c:/photos/image1.jpg"

If StartDrawing(ImageOutput(Chemin$))
  StopDrawing()
EndIf

Bien sur le compilateur m'indique une erreur.

J'utilise un fichier de préférence ou un de mes groupe référence le chemin d'une image mais qui peut varier suivant les préférence de chaque utilisateur. Le texte et les dessin fait avec la bibliothèque 2DDrawing reste inchangés même si l'image diffère.

Comment faire pour charger la variable de mon fichier de préférence à la place de "#Image" dans "ImageOutput(#Image)". Merci.

Publié : mer. 15/avr./2009 18:01
par poshu

Code : Tout sélectionner

Chemin$ = "c:/photos/image1.jpg"

image = LoadImage(#PB_Any,Chemin$)

If StartDrawing(ImageOutput(image))
  StopDrawing()
  SaveImage(image,Chemin$,#PB_ImagePlugin_JPEG)
  FreeImage(image)
EndIf 


Je vois pas ce qui peut t'empêcher de faire ça...

Publié : mer. 15/avr./2009 18:03
par MetalOS
Cool poshu merci, je ne pensais pas que l'on pouvais l'utiliser comme ça.

Publié : mer. 15/avr./2009 18:12
par Fortix
Salut @MetalOS

:wink: NON NON, "ImageOutput(#Image)" doit contenir un Id numérique qui n'est autre que l'identifiant de l'image

et catchImage ne semble pas être l'idéal pour ton projet, en revanche si tu souhaites pouvoir changer tes images dynamiquement je te conseillerais de charger une première fois:

Code : Tout sélectionner

;Ouverture d'un fichier image
fichier_$ = OpenFileRequester( "Recherche image", GetPathPart(fichier_$), "Fichier image|*.jpg;*.jpeg;*.png;*.bmp;*.tif;*.tga", 0)
 
;Chargement du fichier image
If LoadImage( 1, fichier_$) ; ainsi l'identifiant de cette image sera "1",si tu choisis de lui donner le chiffre 1, important :Deux images ne peuvent avoir le même identifiant!!
      SetGadgetState(#Gadgetexemple, ImageID(1)); "ImageID()"est l'unique intermédiaire entre le Gadget et l'image ainsi pour que ton gadget puisse l' utiliser 
endif         
une fois avoir donné des identifiants à tes images chargés au préalable
tu pourras donc les changer dynamiquement comme bon te sembleras

:lol: je ne sais pas si je réponds à 100% à la question :lol:

n'hesite pas à dévelloper d'avantage ta demande :D

Publié : mer. 15/avr./2009 18:16
par Fortix
@ poshu tu ma pris de vitesse et t'as bien fais :lol:

Publié : mer. 15/avr./2009 18:22
par MetalOS
C'est à ni rien comprendre.

voila ma procedure:

Code : Tout sélectionner


Procedure Donnees()
 DateDebutMesure$ = "14/04/2009"
 HeureDebutMesure$ = "18:12:31"
 DateDerniereMesure$ = "14/04/2009"
 HeureDerniereMesure$ = "21:22:36"
 TotalCounter$ = "17"  
 
  If StartDrawing(ImageOutput(#Image_Form1_Image49))
       ;***********Cadre********************
       Line( 20, 20, 360, 0, RGB(255, 255, 255))
       Line( 20, 20, 0, 50, RGB(255, 255, 255))
       Line( 20, 70, 360, 0, RGB(255, 255, 255))
       Line( 380, 20, 0, 50, RGB(255, 255, 255))
        DrawText(50, 38, " Rapport temps réel sur la détection d'éclairs " , RGB(255, 255, 255), transparent)
       ;************************************
       
       DrawText(20, 100, "Début des mesures le :" , RGB(255, 255, 255), transparent)
       DrawText(180, 100, DateDebutMesure$, RGB(250, 242, 5), transparent)
       DrawText(260, 100, "à", RGB(255, 255, 255), transparent)
       DrawText(280, 100, HeureDebutMesure$, RGB(250, 242, 5), transparent)
       
       DrawText(20, 150, "Dernière mesure le : " , RGB(255, 255, 255), transparent)
       DrawText(180, 150, DateDerniereMesure$, RGB(250, 242, 5), transparent)
       DrawText(260, 150, "à", RGB(255, 255, 255), transparent)
       DrawText(280, 150, HeureDerniereMesure$, RGB(250, 242, 5), transparent)
       DrawText(20, 200, "Nombres total d'éclaires :", RGB(255, 255, 255), transparent)
       DrawText(200, 200, TotalCounter$, RGB(238, 27, 17), transparent)
       
     StopDrawing()
  EndIf    
   
EndProcedure
J'ai juste changé le contenue de "ImageOutput(#Image_Form1_Image49)" par "ImageOutput(image)".

Code : Tout sélectionner

Procedure Donnees()
 DateDebutMesure$ = "14/04/2009"
 HeureDebutMesure$ = "18:12:31"
 DateDerniereMesure$ = "14/04/2009"
 HeureDerniereMesure$ = "21:22:36"
 TotalCounter$ = "17"  
 
  If StartDrawing(ImageOutput(image))
       ;***********Cadre********************
       Line( 20, 20, 360, 0, RGB(255, 255, 255))
       Line( 20, 20, 0, 50, RGB(255, 255, 255))
       Line( 20, 70, 360, 0, RGB(255, 255, 255))
       Line( 380, 20, 0, 50, RGB(255, 255, 255))
        DrawText(50, 38, " Rapport temps réel sur la détection d'éclairs " , RGB(255, 255, 255), transparent)
       ;************************************
       
       DrawText(20, 100, "Début des mesures le :" , RGB(255, 255, 255), transparent)
       DrawText(180, 100, DateDebutMesure$, RGB(250, 242, 5), transparent)
       DrawText(260, 100, "à", RGB(255, 255, 255), transparent)
       DrawText(280, 100, HeureDebutMesure$, RGB(250, 242, 5), transparent)
       
       DrawText(20, 150, "Dernière mesure le : " , RGB(255, 255, 255), transparent)
       DrawText(180, 150, DateDerniereMesure$, RGB(250, 242, 5), transparent)
       DrawText(260, 150, "à", RGB(255, 255, 255), transparent)
       DrawText(280, 150, HeureDerniereMesure$, RGB(250, 242, 5), transparent)
       DrawText(20, 200, "Nombres total d'éclaires :", RGB(255, 255, 255), transparent)
       DrawText(200, 200, TotalCounter$, RGB(238, 27, 17), transparent)
       
     StopDrawing()
  EndIf    
   
EndProcedure
Et tous marche bien, il ne me reste plus qu'à rafraichir mon image pour que les données soit bien afficher. :lol: :lol: :lol: :lol:

Publié : mer. 15/avr./2009 18:26
par MetalOS
Je ne c pas si je voie juste mais dans mon fichier de préférence j'ai un groupe qui ce nome "Image" et je pense que dans "ImageOutput(image)" il doit prendre en compte le groupe du fichier de préférence au moment du chargement. Enfin j'en suis pas très sur. Mais pour le moment ça marche :lol: :lol: :lol: :lol:

Publié : mer. 15/avr./2009 18:41
par MetalOS
Merci pour vos réponses poshu et Fortix.