Autore Topic: Gif e cursori animati  (Letto 2175 volte)

Offline sandro

  • Gamberetto
  • *
  • Post: 35
    • Mostra profilo
Gif e cursori animati
« il: 14 Settembre 2017, 18:22:41 »
Salve a tutti. Dopo molto tempo ho deciso di provare a creare un programmino per poter gestire una gif animata o un cursore animato, senza usare MovieBox o altri controlli.
Sulla wiki ci sono molti esempi per poter creare una gif ma non c'è nessun riferimento a nessuna libreria per poter aprire, visualizzare e gestire questo tipo di file.
Se qualcuno più esperto di me potesse darmi delle indicazioni gli sarei molto grato. :'( :'( :'(

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.259
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Gif e cursori animati
« Risposta #1 il: 14 Settembre 2017, 20:10:23 »
... gestire una gif animata o un cursore animato, senza usare MovieBox o altri controlli.
... libreria per poter aprire, visualizzare e gestire questo tipo di file.
Questo comporterà che la gif animata sarà mostrata su una superficie automaticamente generata dalla libreria grafica utilizzata, e pertanto non controllabile direttamente da nessuna risorsa di Gambas.

...però... poiché tu parli di cursori animati, è proprio una superficie indipendente dal Form di Gambas che vuoi ?


« Ultima modifica: 14 Settembre 2017, 20:33:23 da vuott »
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.259
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Gif e cursori animati
« Risposta #2 il: 14 Settembre 2017, 20:29:28 »
La modalità più diretta, brutale e semplice è utilizzare il Metodo ".Open( )" della Classe Desktop, il quale determinerà l'esecuzione della gif animata mediante il programma di sistema predefinito per l'esecuzione di tali file.

http://www.gambas-it.org/wiki/index.php?title=Eseguire_un_file_Video_mediante_il_Metodo_.Open()_della_Classe_Desktop
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline sandro

  • Gamberetto
  • *
  • Post: 35
    • Mostra profilo
Re:Gif e cursori animati
« Risposta #3 il: 14 Settembre 2017, 20:50:17 »
Ciao vuott,
allora io vorrei aprire un file .gif e estrapolare ogni singolo fotogramma in modo da inserirli in dei contenitori di numero uguale al numero dei fotogrammi stessi.

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.259
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Gif e cursori animati
« Risposta #4 il: 15 Settembre 2017, 11:59:16 »
vorrei aprire un file .gif e estrapolare ogni singolo fotogramma in modo da inserirli in dei contenitori di numero uguale al numero dei fotogrammi stessi.

Ho dato un'occhiata all'organizzazione interna di un file di formato GIF animato; e tenendo conto dei blocchi necessari (header, Logical Screen Descriptor, Global Color Table, Graphics Control Extension, Image Descriptor, Image Data e Trailer), ti propongo una soluzione con le sole risorse di Gambas:

Codice: [Seleziona]
Public Sub Main()

  Dim s, parz1, parz2 As String
  Dim i As Integer
  Dim ii As New Integer[]
 
   s = File.Load("/percorso/del/file/animato.gif")
   
   Do   ' Applichiamo il ciclo "Gianluigi/vuott" per ottenere tutte le occorrenze dell'inizio del blocco "Graphics Control Extension"
     i = InStr(s, Chr(&00) & Chr(&21) & Chr(&F9) & Chr(&04), i + 1)
     If i = 0 Then Break
     ii.Push(i)
   Loop
   
   For i = 0 To ii.Max
     parz1 = Mid(s, 1, ii[0])
     If i = ii.Max Then
       parz2 = Mid(s, ii[ii.Max] + 1, Len(s) - ii[ii.Max])
     Else
       parz2 = Mid(s, ii[i] + 1, ii[i + 1] - ii[i]) & Chr(&3B)
     Endif
     File.Save("/percorso/di/ciascun/fotogramma" & CStr(i) & ".gif", parz1 & parz2)
   Next

End
« Ultima modifica: 16 Settembre 2017, 15:39:07 da vuott »
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline sandro

  • Gamberetto
  • *
  • Post: 35
    • Mostra profilo
Re:Gif e cursori animati
« Risposta #5 il: 15 Settembre 2017, 12:25:09 »
Ok. Provato e funzionante(mi salva tutti i fotogrammi che inserirò in dei contenitori. Grazie tantissime!! :ok: :ok: :ok:

Offline sandro

  • Gamberetto
  • *
  • Post: 35
    • Mostra profilo
Re:Gif e cursori animati
« Risposta #6 il: 16 Settembre 2017, 10:00:53 »
Ci tengo a ringraziare tutto lo staff del forum che si prodiga a cercare di risolvere i tanti problemi che abbiamo noi gamberetti nell'interpretazione del codice Gambas. Grazie ancora tantissime :D :D :D

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.145
  • Tonno verde
    • Mostra profilo
Re:Gif e cursori animati
« Risposta #7 il: 16 Settembre 2017, 13:39:02 »
Ci tengo a ringraziare tutto lo staff del forum che si prodiga a cercare di risolvere i tanti problemi che abbiamo noi gamberetti nell'interpretazione del codice Gambas. Grazie ancora tantissime :D :D :D

 :ciao: Ti ringrazio molto delle belle frasi, capisco bene cosa intendi per staff, non quell'entità che oramai in pratica si riduce al sottoscritto, ma i molti che cercano di aiutare gli altri con in prima fila il grande Vuott, vera anima di questo forum.

 :D :D :D
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline sandro

  • Gamberetto
  • *
  • Post: 35
    • Mostra profilo
Re:Gif e cursori animati
« Risposta #8 il: 16 Settembre 2017, 15:33:32 »
Un grazie particolare a Vuott che se lo merita davvero per tutta la dedizione che dedica a questo forum :D :D :D

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.259
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Gif e cursori animati
« Risposta #9 il: 16 Settembre 2017, 18:20:40 »
...portatemi pure in processione:

« Ultima modifica: 16 Settembre 2017, 18:39:29 da vuott »
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline sandro

  • Gamberetto
  • *
  • Post: 35
    • Mostra profilo
Re:Gif e cursori animati
« Risposta #10 il: 17 Settembre 2017, 10:22:06 »
Ciao vuott, ritornando al codice per l' estrazione dei fotogrammi, sto facendo scorrere i fotogrammi con un timer con intervallo ma non è l'intervallo esistente nella gif animata.
Volevo sapere se esiste la possibilità di estrarre le informazioni inserte nella gif riguardanti il tempo di intervallo fra un fotogramma e l'altro.

( ;D ;D Come puoi notare dalla data noi appassionati e attaccati al vile denaro lavoriamo anche domenica!!!) ;D ;D ;D

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.145
  • Tonno verde
    • Mostra profilo
Re:Gif e cursori animati
« Risposta #11 il: 17 Settembre 2017, 13:33:28 »
Ciao vuott, ritornando al codice per l' estrazione dei fotogrammi, sto facendo scorrere i fotogrammi con un timer con intervallo ma non è l'intervallo esistente nella gif animata.
Volevo sapere se esiste la possibilità di estrarre le informazioni inserte nella gif riguardanti il tempo di intervallo fra un fotogramma e l'altro.

( ;D ;D Come puoi notare dalla data noi appassionati e attaccati al vile denaro lavoriamo anche domenica!!!) ;D ;D ;D

Parlo di una cosa che non ho provato ma, tempo totale diviso fotogrammi non va bene?
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline sandro

  • Gamberetto
  • *
  • Post: 35
    • Mostra profilo
Re:Gif e cursori animati
« Risposta #12 il: 17 Settembre 2017, 13:41:56 »
Ciao vuott,
si è talmente semplice che non ci avevo minimamente pensato. Ho provato e va bene! ok. :) :) :)

Offline sandro

  • Gamberetto
  • *
  • Post: 35
    • Mostra profilo
Re:Gif e cursori animati
« Risposta #13 il: 17 Settembre 2017, 13:50:21 »
Scusa volevo dire Ciao Gianluigi :-[ :-[ :-[

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.145
  • Tonno verde
    • Mostra profilo
Re:Gif e cursori animati
« Risposta #14 il: 17 Settembre 2017, 14:02:29 »
Non ti devi scusare oramai sono in molti che scambiano i miei suggerimenti per quelli del maestro, capita sempre quando l'allievo sta per superarlo  8)
 :rotfl: :rotfl: :rotfl:
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro