Gambas-it

Gambas3 => Programmazione => Topic aperto da: Francoiky - 20 Agosto 2011, 19:18:22

Titolo: Problema nel salvare uno screenshot in gif
Inserito da: Francoiky - 20 Agosto 2011, 19:18:22
Salve a tutti! Ho riscontrato un problema nel salvare una screenshot in formato gif
Codice: gambas [Seleziona]
$Screenshot = Desktop.Screenshot()
$Screenshot.Save("a.gif")

Eseguendo il programma mi restituisce l'errore "Unable to save picture". Ci tengo a precisare che salvando lo screenshot in altri formati funziona tutto perfettamente :-\. Anche se lo vedo difficile, esiste un modo per ovviare a questo problema???

Grazie in anticipo.
Titolo: Re: Problema nel salvare uno screenshot in gif
Inserito da: Ceskho - 25 Agosto 2011, 01:21:58
Hai provato a passare il path completo?

Codice: gambas [Seleziona]
$Screenshot = Desktop.Screenshot()  
$Screenshot.Save("cartella/sottocartella/a.gif") 
Titolo: Re: Problema nel salvare uno screenshot in gif
Inserito da: Francoiky - 25 Agosto 2011, 16:08:51
Si si, ho provato. Anche con il dialog mi da lo stesso errore. Ripeto, salvando in  altri formati (png, jpg, xpm) non mi da nessun problema. E' possibile che io la debba convertire in immagine prima di salvarla in gif? :-\
Titolo: Re: Problema nel salvare uno screenshot in gif
Inserito da: Ceskho - 25 Agosto 2011, 16:36:26
Evidentemente c'è qualche problema per Gambas nel gestire quel tipo di immagine. Le picture, così come le image, dovrebbero supportare il formato gif. Strano.
Titolo: Re: Problema nel salvare uno screenshot in gif
Inserito da: vuott - 03 Gennaio 2012, 01:37:26
Ho posto questo problema direttamente a Minisini, il quale mi ha risposto così:

" Actually, gb.image.io relies on the gdk-pixbuf library to save the
picture. So the supported formats are the one supported by that library.

--
Benoît Minisini
"
Titolo: Re: Problema nel salvare uno screenshot in gif
Inserito da: sotema - 04 Gennaio 2012, 15:57:02
Dalla documentazione della libreria gdk-pixbuf:
Citazione
Saves pixbuf to a file in type, which is currently "jpeg", "png", "tiff", "ico" or "bmp".
Titolo: Re: Problema nel salvare uno screenshot in gif
Inserito da: vuott - 04 Gennaio 2012, 17:56:04
Dalla documentazione della libreria gdk-pixbuf:
Citazione
Saves pixbuf to a file in type, which is currently "jpeg", "png", "tiff", "ico" or "bmp".

Il problema sembra persistere con .tif e con .ico... non so se è necessario qualche accorgimento o pre-parazione della Picture...
Titolo: Re: Problema nel salvare uno screenshot in gif
Inserito da: sotema - 04 Gennaio 2012, 19:40:56
Immagino tu stia usando una distro ubuntu o derivata. Ubuntu ha una gestione particolare della dimensione del desktop. Se provi a digitare il comando
Codice: [Seleziona]
? desktop.count
nella console di gambas, il risultato è 1 indipendentemente dal numero di desktop virtuali che hai configurato. Allo stesso modo il comando
Codice: [Seleziona]
?desktop.w
riporta un valore pari alla somma dei desktop virtuali paralleli. Lo stesso dicasi per
Codice: [Seleziona]
?desktop.H
. Questa condizione porta lo scripts xdg-utils a non essere in grado di determinare la dimensione del desktop. Se provi a modificare la riga
Codice: c# [Seleziona]
$Screenshot = Desktop.Screenshot()
inserendo i parametri di posizione e dimensione
Codice: c# [Seleziona]
$Screenshot = Desktop.Screenshot(30,30,200,200)
  la cosa funziona. Attenzione oltre certe dimensioni ti genera lo stesso l'errore. Da investigare...
Titolo: Re: Problema nel salvare uno screenshot in gif
Inserito da: fsurfing - 04 Gennaio 2012, 19:44:06
se vuoi le dimensioni dello shermo mi pare bastino

w=screen.w
h=screen.h
Titolo: Re: Problema nel salvare uno screenshot in gif
Inserito da: fsurfing - 04 Gennaio 2012, 19:45:48
se poi si deve proprio avere una gif, si puo (purtroppo) usare imagemacic avviato tramite shell
Titolo: Re: Problema nel salvare uno screenshot in gif
Inserito da: sotema - 04 Gennaio 2012, 19:50:59
Citazione
se vuoi le dimensioni dello shermo mi pare bastino

w=screen.w
h=screen.h

giustissimo!!!
Titolo: Re: Problema nel salvare uno screenshot in gif
Inserito da: vuott - 05 Gennaio 2012, 00:09:55
Immagino tu stia usando una distro ubuntu o derivata.
Sì, uso Ubuntu.


Ubuntu ha una gestione particolare della dimensione del desktop. Se provi a digitare il comando
Codice: [Seleziona]
? desktop.count
nella console di gambas, il risultato è 1 indipendentemente dal numero di desktop virtuali che hai configurato.
...A me restituisce un numero pari ai desktop utilizzati, o comunque attivati.


Se provi a modificare la riga
Codice: c# [Seleziona]
$Screenshot = Desktop.Screenshot()
inserendo i parametri di posizione e dimensione
Codice: c# [Seleziona]
$Screenshot = Desktop.Screenshot(30,30,200,200)
  la cosa funziona. Attenzione oltre certe dimensioni ti genera lo stesso l'errore. Da investigare...
A me continua anche così a generarmi errore se tento di salvare in .tif oppure in .ico !  :-\
Titolo: Re: Problema nel salvare uno screenshot in gif
Inserito da: vuott - 30 Novembre 2014, 05:26:37
Dalla documentazione della libreria gdk-pixbuf:
Citazione
Saves pixbuf to a file in type, which is currently "jpeg", "png", "tiff", "ico" or "bmp".

Ho scritto un'apposita pagina nella nostra WIKI contenente un breve codice per conoscere i formati disponibili:
http://www.gambas-it.org/wiki/index.php?title=Conoscere_i_formati_immagine_disponibili_con_GTK_mediante_le_funzioni_del_API_di_GDK-PixBuf


Ad ogni modo, segnalo anche questa discussione:
http://www.gambas-it.org/smf/index.php?topic=3823.msg34544
Titolo: Re: Problema nel salvare uno screenshot in gif
Inserito da: vuott - 23 Gennaio 2015, 17:35:26
Dalla documentazione della libreria gdk-pixbuf:
Citazione
Saves pixbuf to a file in type, which is currently ...... "ico" ...
Per convertire e salvare una immagine in un file immagine di formato .ico, è possibile utilizzare direttamente alcune funzioni della libreria gdk-pixbuf, citata da sotema.

Ne ho fatto un brevissimo riassunto nella nostra WIKI:

http://www.gambas-it.org/wiki/index.php?title=Convertire_un%27immagine_in_un_file_immagine_di_formato_ICO_mediante_le_funzioni_esterne_del_API_di_Libgdk_pixbuf
Titolo: Re: Problema nel salvare uno screenshot in gif
Inserito da: vuott - 29 Gennaio 2015, 02:54:01
Per convertire e salvare un file immagine in un file immagine di formato .GIF, è possibile utilizzare alcune funzioni della libreria Libgd.

Ne ho fatto un brevissimo riassunto nella nostra WIKI:

http://www.gambas-it.org/wiki/index.php?title=Convertire_un_file_immagine_in_un_file_immagine_di_tipo_GIF_con_le_funzioni_esterne_del_API_di_Libgd