Törmäsin mielenkiintoisen näköiseen esimerkkiin etsiskellessäni graafisia javaoppaita ja yritin tietty heti etsiä lisää tietoa aiheesta. Kävi kuitenkin ilmi että on vaikea etsiä jotain kun ei oikeastaan tiedä mitä etsii, joten kysymykseni onkin että miten saan aikaan alla olevan peilausefektin? Ja paremminkin miten pystyn "ottamaan kuvan" appletista, jotta voisin muokata sitä Graphics luokan metodeilla?
Peilaus suoran suhteen tapahtuu piirtämällä kustakin pisteestä normaali suoralle ja etsittävä tältä normaalilta se toinen piste, joka on yhtä kaukana normaalista kuin alkuperäinen piste.
Ymmärrän kyllä tämän mutta kun "ruudussa" voi olla esimerkiksi kuvia ei tästä ole käytännössä apua. Eli olen melko varma että javassa on olemassa jokin metodi joka pystyy kopioimaan appletin kuvan muokattavaksi Image-olioksi?
Yleensä tuo "ruudussa" näkyvä kuva pitää ensin piirtää muistiin kuvaksi ennen kuin sen voi piirtää ruudulle. Kun tuo alkuperäinen kuva on jo muistissa on se helppo piirtää väärin päin.
esim:
public void paint(Graphics g) { if (screenImage != null) { g.drawImage(screenImage,0,0,this); //alkuperäinen kuva (leveys w, korkeus h) g.drawImage(screenImage,0,h,w,h+100, 0,h, w, 0, this); //peilattu kuva 100 pikselin kokoiselle alueelle } }
Kiitos, nyt jälkeenpäin tuntuu aika tyhmältä etten heti tajunnut tuota kääntämistä. Mutta vieläkin pitäisi se ruudun "sieppaus" vääntää mulle rautalangasta.
Aihe on jo aika vanha, joten et voi enää vastata siihen.