Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C++: Screenshot linuxissa

Sivun loppuun

osku91 [30.03.2008 01:43:40]

#

Minun pitäisi saada otettua screenshot c++:alla linuxissa. Screenshotista pitäisi pystyä jotenkin lukemaan pixeleiden värejä. Aluksi ajattelin tehdä semmoisen purkka ratkaisun, että käytän system("import -window root kuva.bmp"); komentoa ja sitten lataan sen SDL_LoadBMP funktiolla, mutta jostain kumman syystä näin tehtynä kestää n.5s yhden screenshotin ottamiseen ja sen ajaksi kaikki jumittuu. Se on varsin huono, koska screenshotteja pitäisi ottaa jatkuvassa loopissa, Joten mikä olisi parempi ratkaisu?

teksturi [30.03.2008 12:58:09]

#

import -window root kuva.bmp jos lyöt tuon komennon suoraan komentoriville niin kauankos silloin kestää ottaa. Eikös tuota -windows root käytetä jos otetaan ruudunkaappaus pelkässä X:ssä. Mites vaikuttaa nopeuteen jos käytät pelkästään import kuva.bmp. Kokeile myös muita kuvaformaatteja jos vaikuttaa nopeuteen vaikka png:tä.

Blaze [30.03.2008 13:07:17]

#

osku91 kirjoitti:

käytän system("import -window root kuva.bmp"); komentoa ja sitten lataan sen SDL_LoadBMP funktiolla, mutta jostain kumman syystä näin tehtynä kestää n.5s yhden screenshotin ottamiseen ja sen ajaksi kaikki jumittuu.

import nyt vaan on hidas.

blaze@sakura ~ $ time import -window root temp.bmp

real    0m3.551s
user    0m0.861s
sys     0m0.136s

osku91 kirjoitti:

Se on varsin huono, koska screenshotteja pitäisi ottaa jatkuvassa loopissa, Joten mikä olisi parempi ratkaisu?

Tsekkaa valmiita softia, ainakin recordMyDesktop ja xvidcap on olemassa, ja kato, jos ne kelpaa tarkotuksiis. Jos ei, niin ne on avointa koodia.

teksturi kirjoitti:

Kokeile myös muita kuvaformaatteja jos vaikuttaa nopeuteen vaikka png:tä.

:P

blaze@sakura ~ $ time import -window root temp.png

real    0m11.827s
user    0m7.954s
sys     0m0.124s

teksturi [30.03.2008 13:39:20]

#

Itselläni menee näköjään bmp aina noin 1.5 sekuntiin png meni 2.5. Olisi varmaan pitänyt itsekkin kokeilla ennen kuin alkaa ehdottelemaan :D

osku91 [30.03.2008 14:43:54]

#

Nuo recordMyDesktop ja xvidcap eivät oikein kelpaa tarkoitukseeni, koska niillä pystyy ilmeisesti vain tallentamaan videota näytöstä ja minun pitäisi voida lukea pikseleiden värejä näytöltä.

teksturi [30.03.2008 14:59:18]

#

Minkäslainen sovellus sinulle on tulossa? Kuinka reaaliaikaista sen esim pitää olla? Varmaan kaikista järein vaihtoehto on tutkia suoraan näytöltä nuo pikselit, mutta tällöin ohjelma pitää varmaan saada aika nopeaksi. En kyllä tiedä miten tuon toteuttaa, mutta kyllähän se varmasti onnistuu.

osku91 [30.03.2008 15:56:38]

#

Tarkoitus olisi tehdä semmoinen ohjelma, joka lukee pikseleiden värit semmoisesta pelistä missä pitää vaihtaa 2 timantin paikkaa ja saada ainakin 3 timantin rivi ja sitten se näyttäisi parhaimman mahdollisen vaihdon, tai ehkä jopa liikuttelisi hiirtä ja vaihtaisi niitä. Joten ei sen aivan hirvittävän nopea tarvitsisi olla

tesmu [31.03.2008 15:22:34]

#

Koitappas scrottia importin sijasta.

scrot kuva.jpg


Itselläni tuo ainakin toimii paljon nopeammin mitä import.


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta