Page 1 sur 1

Sauvagarde bargraph dans un fichier avec saveimage....

Publié : sam. 19/avr./2025 15:32
par Philippe_GEORGES
Bonjour

Je cherche à produire une image à partir d'un graphique généré par le Chartmodule.pbi de Thorsten:
Chart::Gadget(#chart0, 10, 30, 395, 200, Chart::#Border|Chart::#ShowValue|Chart::#AutoResize)
..... code d'un bargraph.....
SaveImage(ImageID(GetGadgetAttribute(#chart0, #PB_Canvas_Image)),"graph.bmp") ; ne marche pas....
SaveImage(GetGadgetAttribute(#chart0, #PB_Canvas_Image),"graph.bmp") ; ne marche pas non plus....
Le compilateur m'indique

[ERREUR] Le #Image spécifié n'est pas initialisé. (sur la ligne ou est le "saveimage"

Le graphe est bien généré par ailleurs.

Quelqu'un a t il une idée pour savegarder le dessin du graphe dans un fichier bmp ou autre ? Là, je tourne en rond....

Merci d'avance,

Phil

Re: Sauvagarde bargraph dans un fichier avec saveimage....

Publié : sam. 19/avr./2025 17:42
par Marc56
Bonjour Philippe,
[ERREUR] Le #Image spécifié n'est pas initialisé. (sur la ligne ou est le "saveimage"
Le message est explicite: l'image n'existe pas ou ce n'est pas le bon numéro ou ID
Utilises ShowLibraryViewer() (éventuellement avec le numéro de l'image) avant saveimage pour vérifier.

Exemple d'utilisation.

Code : Tout sélectionner

OpenWindow(0, 0, 0, 200, 100, "StartDrawing", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)

If CreateImage(0, 200, 100) And StartDrawing(ImageOutput(0))
    DrawText(50,30,"PUREBASIC", RGB(255, 255, 0))
    StopDrawing() 
    ImageGadget(0, 0, 0, 200, 100, ImageID(0))
EndIf

ShowLibraryViewer("image", 0)
SaveImage(0, GetTemporaryDirectory() + "test.bmp")
RunProgram(GetTemporaryDirectory() + "test.bmp", "", "") 

Repeat : Until WaitWindowEvent(0) = #PB_Event_CloseWindow

Re: Sauvagarde bargraph dans un fichier avec saveimage....

Publié : dim. 20/avr./2025 10:38
par Philippe_GEORGES
Merci Marc de ta réponse, mon problème est maintenant résolu !

C'est vrai que le principe est simple, le plus dur c'est de bien le comprendre. Purebasic est riche en fonctions pour faire quasiment tout ce que l'on veut.
; sauvegarde de l'image -------------------------------------------------------------------

StartDrawing(ImageOutput(Image0));
DrawImage(ImageID0,0,0)
StopDrawing()

SaveImage(Image0,GetUserDirectory(#PB_Directory_Desktop)+"sthana.png",#PB_ImagePlugin_PNG)

; fin sauvegarde de l'image ----------------------------------------------------------------
Amitiés,

Phil