Point() sur AVI ??
Publié : jeu. 10/sept./2009 1:12
Bonsoir,
je n'arrive pas à comprendre pourquoi la lecture des pixels sur une vidéo donne des valeurs nulle !
bref jne comprends pas!
je n'arrive pas à comprendre pourquoi la lecture des pixels sur une vidéo donne des valeurs nulle !
Code : Tout sélectionner
If InitMovie() = 0
MessageRequester("Error", "Can't initialize movie playback !", 0)
End
EndIf
MovieName$ = OpenFileRequester("Choose the movie to play", "", "Movie files|*.avi;*.mpg;*.asf", 0)
If MovieName$
If LoadMovie(0, MovieName$)
H = MovieHeight(0)
L = MovieWidth(0)
;{
If H<>400 And L<>400
If L>H Or L=H
If H > 400 Or H < 400
S=400*100
SS=S/H
H=400
T=L*SS
L=T/100
ff=1
EndIf
If L > 400 Or L < 400
d=400*100
dd=d/L
L=400
T=H*dd
H=T/100
ww=1
EndIf
Else
If L > 400 Or L < 400
d=400*100
dd=d/L
L=400
T=H*dd
H=T/100
w=1
EndIf
If H > 400 Or H < 400
S=400*100
SS=S/H
H=400
T=L*SS
L=T/100
f=1
EndIf
EndIf
EndIf
;}
If w And f Or ww And ff
Round(L,0):Round(H,0)
EndIf
ResizeMovie(0, 0, 0, L, H)
If OpenWindow(1,600,100,L,H,"TABclr")
ImageGadget(1, 0, 0, L,H, ImageID(0))
EndIf
OpenWindow(0, 100, 150,420, 450, "PureBasic - Movie ["+Str(L)+" "+Str(H)+"] "+Str(MovieLength(0)))
PlayMovie(0, WindowID(0))
c=1
For t=150 To 160-1
MovieSeek(0, t)
PauseMovie(0)
;--------------------------------------------------------------------------
;Debug c
CreateImage(c, L, H)
StartDrawing(WindowOutput(0))
;DrawImage(ImageID(1), 0, 0)
For y=0 To H;-1
For x=0 To L;-1
Nv=Point(x,y)
h$=UCase(Hex(Nv))
If h$<>g$
Debug h$
g$=h$
EndIf
Next x
Next y
StopDrawing()
ResumeMovie(0)
c=c+1
Next t
StopMovie(0)
Repeat
Event = WaitWindowEvent()
WindowID = EventWindow()
GadgetID = EventGadget()
EventType = EventType()
Until Event = #PB_Event_CloseWindow
Else
MessageRequester("Error", "Can't load the movie...", 0)
EndIf
EndIf