Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C++: Winapilla nopea pikselinluku

crafn [15.11.2006 19:45:17]

#

Eli oon tehny tollast ohjelmaa joka kattoo koko näytön pikselit ja sitte piirtää ne.
Katon ja piirrän pikselit winapin GetPixel() ja SetPixel() - funktiolla, mut ne on niin turkasen hitaita ni ne ei oikee käy mun tarkotukseen..
Oisko mitään muuta, nopeampaa keinoa lukee pixeleitä hdc:ltä ja piirtää niitä hdc:lle ku noi Get - ja SetPixelit?
Ja kieli on c++

Meitsi [16.11.2006 15:27:35]

#

BitBlt-funktiolla voit kopioida pinnalta toiselle. Katsele myös muita Blt-loppuisia funktiota, niissä on hieman lisää ominaisuuksia.

Heikki [16.11.2006 16:46:11]

#

SetPixelV ja GetPixelV ovat kuulemma ainakin jossain määrin nopeampia (siis kuulemma, enpä WinApia osaa).

Metabolix [16.11.2006 23:55:10]

#

Ainahan voi leikkiä DC:n bittikartalla (GetCurrentObject tai jotain) ja laittaa sen vaikka taulukkoon (ja sieltä takaisin DC:lle) joidenkin GetDIBits- ja SetDIBits-funktioiden avustuksella. Taulukossa muokkaaminen on varmasti paljon tehokkaampaa. Tämän tarkemmin en näin tarkemmin tutkimatta osaa kertoa, mutta vakuutan, että toimiva menetelmä noiden funktioiden (tai niiden lähisukulaisten) avulla on olemassa.

crafn [17.11.2006 19:41:58]

#

Kiitti, yritän kattoo jos saan noilla värkättyä jotain..

crafn [18.11.2006 18:06:56]

#

Siis.. Miten noita käytetään.. Sain jonkinlaisen käsityksen tosta GetCurrentObjecktista msdn:än - sivuilta mut en älynny noita GetDlBits ja SetDlBits-funktioita. Saisko ehkä jotain esimerkkiä tai neuvoa suomeksi

Vastaus

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

Tietoa sivustosta