Trasformare un'immagine in ascii art mediante il Componente gb.media
Da Gambas-it.org - Wikipedia.
Versione del 12 ago 2024 alle 17:35 di Vuott (Discussione | contributi) (Creata pagina con "Usando il plugin "aatv" di GStreamer, i file immagini possono essere trasformati in ''[https://it.wikipedia.org/wiki/ASCII_art ascii art]''. Mostriamo un semplice esempio con...")
Usando il plugin "aatv" di GStreamer, i file immagini possono essere trasformati in ascii art.
Mostriamo un semplice esempio con applicazione a riga di comando:
Private bo As Boolean Public Sub Main() Dim pl As MediaPipeline Dim src, dcb, aa, con, png, snk As MediaControl Dim filevideo As String Dim tm As Date filevideo = "/percorso/del/file/immagine" pl = New MediaPipeline AS "PLine" src = New MediaControl(pl, "filesrc") src["location"] = filevideo dcb = New MediaControl(pl, "decodebin") aa = New MediaControl(pl, "aatv") con = New MediaControl(pl, "videoconvert") png = New MediaControl(pl, "pngenc") snk = New MediaControl(pl, "filesink") snk["location"] = "/tmp/asciiart.png" src.LinkTo(dcb) dcb.LinkLaterTo(aa) aa.LinkTo(con) con.LinkTo(png) png.LinkTo(snk) pl.Play Repeat ' Finché la durata del video non viene rilevata, il ciclo continua Wait 0.01 Until pl.Duration > 0.00 Print "Durata del video: "; Time(0, 0, 0, pl.Duration * 1000) tm = Now Repeat Write "\r\e[0mTempo trascorso: \e[31m" & Str(Time(0, 0, 0, DateDiff(tm, Now, gb.Millisecond))) Wait 0.01 Until DateDiff(tm, Now, gb.Millisecond) >= (pl.Duration * 1000) pl.Stop pl.Close End