Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: Tietty kuvan väri toisen väriseksi

Sivun loppuun

Axuu [30.11.2004 23:20:56]

#

Elikkä miten saisi tehtyä Visual basicilla sellaisen, että se tarkistaa kuvasta kaikki pikselit (koko kuvan) ja jos siinä on esim.

Puhdas vihreä väri, niin se vaihtaa se kohdan väriä Esim. punaseksi.

Blaze [30.11.2004 23:27:17]

#

Vaikkapa silmukalla, Point():lla ja PSet():llä.

rndprogy [30.11.2004 23:56:08]

#

niin juuri.

for y = 0 to 100: for x = 0 to 100
if Point(x, y) = rgb(0, 255, 0) then PSet(x, y), rgb(255, 0, 0)
next: next

oli tylsää niin annoin koodin. :/

Axuu [02.12.2004 22:01:34]

#

Onko jotain nopeampaa tapaa toteuttaa?, koska jos laittaa että värisävy voi olla hieman erillainen,niin se hidastuu liikaa...(kuva on 1000 x 516)

Ja miten saa laitettua sen kuvan minkä se piirsi,kuvan arvoksi? (et ku kutsuis sitä picture1.picturella , niin se antais sen uudenkuvan...)

hunajavohveli [02.12.2004 22:41:33]

#

Minun tietääkseni ei ole nopeampaa tapaa, ellei sitten API:sta tms. löydy jotain, mutta eikö tuon kuvan saa picture.image :lla?

Axuu [02.12.2004 23:30:06]

#

Joo jos autoredraw = true... Mut se taas hidastaa värin vaihtamista niin paljo, et ennään ei voi siedettävästi vaihtaa väriä edes puhtaassa mustassa....

Pekka Kauppila [03.12.2004 14:43:28]

#

WinAPI:ssa on GetBitmapBits ja SetBitmapBits funktiot joiden avulla tuon värin vaihtamisen pitäisi sujua nopeasti. Ohjeita noiden käyttöön löytyy varmasti jostain netistä ja varmasti löytyy myös valmiita koodi esimerkkejä.

Antti Laaksonen [03.12.2004 15:56:17]

#

Joo, Pekan mainitsemien funktioiden avulla kuvan muuttaminen lienee paljon nopeampaa, kun kuvadataa voi käsitellä suoraan taulukossa. Tosin koodin kirjoittaminen ei ole helppoa, sillä pitää ottaa huomioon kuvien eri värimäärät. Toisinaan kuvasta luettavat tavut ilmaisevat suoraan värin, toisinaan ne osoittavat vain palettiin, joka pitää lukea ja tallentaa erikseen.

Axuu [03.12.2004 23:31:12]

#

Kattelin vähän tota winapia, mutta en oikeen saannut toimimaan(en kyl kauaa yrittäny), voi olla et myöhemmin vielä koitan...

Optimoin vähän koodia ja nyt saa siitä vaihdettua puhtaasta mustasta valkoseks siedettävällä nopeudella, ja huomasin, että muut formaatit ku jpg voi vaihtaa puhtaast mustast....(ja jpg:nkin kun säätää pakkaus tehoa...)


Sivun alkuun

Vastaus

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

Tietoa sivustosta