Differenze tra le versioni di "Disegnare sopra un video"
Da Gambas-it.org - Wikipedia.
(Creata pagina con "Mostriamo di seguito una modalità di disegnare sopra un video. Va precisato che la modalità mostrata non inciderà sui fotogrammi del video, poiché il disegno sarà effett...") |
|||
(Una versione intermedia di uno stesso utente non è mostrata) | |||
Riga 15: | Riga 15: | ||
− | + | Public Sub Form_Open() | |
<FONT Color=gray>' ''Crea una "WebView" come oggetto GUI da usare per l'uscita video:''</font> | <FONT Color=gray>' ''Crea una "WebView" come oggetto GUI da usare per l'uscita video:''</font> | ||
Riga 34: | Riga 34: | ||
End With | End With | ||
− | + | End | |
− | + | Public Sub Button1_Click() | |
<FONT Color=gray>' ''Carica ed esegue il file video:''</font> | <FONT Color=gray>' ''Carica ed esegue il file video:''</font> | ||
− | WebView1.Url = "/percorso/del/file/video" | + | WebView1.Url = "<FONT Color=darkgreen>''/percorso/del/file/video''</font>" |
− | + | End | |
− | + | Public Sub da_Draw() | |
Dim i As Integer | Dim i As Integer | ||
Riga 58: | Riga 58: | ||
End With | End With | ||
− | + | End | |
− | + | Public Sub da_MouseDown() | |
StartX = Mouse.X | StartX = Mouse.X | ||
Riga 68: | Riga 68: | ||
OldY = StartY | OldY = StartY | ||
− | + | End | |
− | + | Public Sub da_MouseMove() | |
OldX = Mouse.X | OldX = Mouse.X | ||
Riga 78: | Riga 78: | ||
da.Refresh() | da.Refresh() | ||
− | + | End | |
− | + | Public Sub da_MouseUp() | |
punti.Push(StartX) | punti.Push(StartX) | ||
Riga 88: | Riga 88: | ||
punti.Push(OldY) | punti.Push(OldY) | ||
− | + | End |
Versione attuale delle 12:07, 20 giu 2024
Mostriamo di seguito una modalità di disegnare sopra un video.
Va precisato che la modalità mostrata non inciderà sui fotogrammi del video, poiché il disegno sarà effettuato su una superficie posta al di sopra di quella adoperata per eseguire il video medesimo. In particolare si utilizzeranno le capacità dell'Oggetto WebView di eseguire un file audio/video, soprapponendovi quindi una DrawingArea per disegnare qualcosa.
L'Oggetto WebView fornisce automaticamente, fra l'altro, una risorsa per arrestare, porre in pausa e riprendere l'esecuzione del video.
Vediamo un esempio pratico:
Private WebView1 As WebView Private da As DrawingArea Private OldX As Single Private OldY As Single Private StartX As Single Private StartY As Single Private punti As New Integer[] Public Sub Form_Open() ' Crea una "WebView" come oggetto GUI da usare per l'uscita video: With WebView1 = New WebView(Me) .X = 10 .Y = 10 .W = 480 .H = 480 End With ' Crea una DrawingArea sulla quale disegnare delle linee rosse: With da = New DrawingArea(Me) As "da" .X = WebView1.X .Y = WebView1.Y .W = WebView1.W .H = WebView1.H - 80 .Background = Color.Transparent End With End Public Sub Button1_Click() ' Carica ed esegue il file video: WebView1.Url = "/percorso/del/file/video" End Public Sub da_Draw() Dim i As Integer With Draw .Foreground = Color.Red .Line(StartX, StartY, OldX, OldY) For i = 0 To punti.Max Step 4 .Line(punti[i], punti[i + 1], punti[i + 2], punti[i + 3]) Next .End End With End Public Sub da_MouseDown() StartX = Mouse.X StartY = Mouse.Y OldX = StartX OldY = StartY End Public Sub da_MouseMove() OldX = Mouse.X OldY = Mouse.Y da.Refresh() End Public Sub da_MouseUp() punti.Push(StartX) punti.Push(StartY) punti.Push(OldX) punti.Push(OldY) End