Code : Tout sélectionner
UseJPEGImageDecoder() ; on charge l'image
Fichier.s = OpenFileRequester("Ouvrir une image", "", "Image|*.bmp;*.jpg", 1)
LoadImage(0, Fichier)
PanoramaX = ImageWidth() ; largeur du panorama
PanoramaY = ImageHeight() ; hauteur du panorama
WindowX = PanoramaX ; largeur de la fenêtre
WindowY = PanoramaY ; même hauteur que le panorama
; CreateImage(#PB_Any, WindowX, WindowY); fenêtre horizontale pour symétrie H
CreateImage(#PB_Any, WindowY, WindowX) ; fenêtre verticale pour Rotation 90
InitSprite()
WindowID = OpenWindow(1, 0, 0, WindowX, WindowY, #PB_Window_SystemMenu | #PB_Window_BorderLess, "Panorama")
OpenWindowedScreen(WindowID, 0, 0, WindowX, WindowY, 1, 0, 0)
If OpenWindow(0, 0, 0, WindowY, WindowX, #PB_Window_SystemMenu | #PB_Window_ScreenCentered | #PB_Window_MinimizeGadget, "Effect - Rotation d'image") = 0 Or CreateGadgetList(WindowID()) = 0
End
EndIf
; ImageSymetrieH = ImageSymmetryH(UseImage(0))
; TextGadget( #PB_Any, 0, 0, 100, 15, "Symétrie Horizontale")
; ImageGadget( #PB_Any,0, 0,WindowX, WindowY, UseImage(ImageSymetrieH))
ImageRotation90 = RotateImage(UseImage(0), 90)
TextGadget( #PB_Any, 0, 0, 100, 15, "Rotation 90")
ImageGadget(#PB_Any, 0, 0, WindowY, WindowX, UseImage(ImageRotation90))
Repeat
Event = WindowEvent()
StartDrawing(ScreenOutput())
; affichage de l'image de départ
DrawImage(UseImage(0), 0, 0)
StopDrawing()
FlipBuffers()
Until Event = #PB_Event_CloseWindow
End
bon alors tu es prêt, je t'explique tes erreurs
Code : Tout sélectionner
WindowID = OpenWindow(1, 0, 0, ...
WindowID = WindowID(1)
donc ceci suffit
Code : Tout sélectionner
WindowID = OpenWindow(1, 0, 0, ...
Code : Tout sélectionner
WindowNumero = OpenWindow(#PB_Any, 0, 0, ...
WindowID = WindowID(WindowNumero)[/
Code : Tout sélectionner
StartDrawing(WindowOutput())
; affichage de l'image de départ
DrawImage(UseImage(0), 0, 0)
StopDrawing()
Il faut éviter d'avoir des openwindow ou des fonctions du genre au milieu d'un dessin

Sinon, tu dessines sur la fenêtre alors qu'on a un OpenWindowedScreen dessus
mieux vaut dessiner sur le screen et faire un flipbuffers
Quand on dessine directement sur la fen, l'image n'est pas stable, si tu passe une autre fenêtre par dessus l'image, elle disparait
Code : Tout sélectionner
Result = OpenWindowedScreen(WindowID, ...
Code : Tout sélectionner
OpenWindowedScreen(WindowID, ...