Tekstiefekti

Saku-foorumi » Classic Amiga » Ohjelmointi » Viestit 2005 » Tekstiefekti « Edellinen Seuraava »

Kirjoittaja Viesti
 

jap
Maanantaina, 20. kesäkuuta, 2005 - klo 17.55:   
Muistan joskus nähneeni jollain demo-disketillä tekstitiedoston, josta piirtyi yksivärinen grafiikkakuva CLI-ikkunaan, kun sen tulosti Type-komennolla.

Mitenhän se oli tehty? Siirtelemällä kursoria eestaas ja tulostelemalla sopivasti toisiaan peittäviä merkkejä päällekäin?

 

JPQ
Maanantaina, 20. kesäkuuta, 2005 - klo 18.14:   
jap: uskoisin kun erääntuollaisen olen nähnyt mutta se miten merkin sai pikselin tarkasti sijoitletua (vaakasuunnassa ainakin) miltä tuo ainakin täällä vaikutti hämää vieläkin. Eli en tosiaankaan tiedä mutta kiinnostaa minuakin.

 

Jani Kuituniemi
Maanantaina, 20. kesäkuuta, 2005 - klo 18.26:   
Custom-fontti jossa on 64 merkkiä (8x8 pixelin matriisi) jolla kirjoitetaan sopivia kirjaimia peräkkäin halutun kuvan aikaansaamiseksi?

 

allu
Maanantaina, 20. kesäkuuta, 2005 - klo 18.56:   
Jani Kuituniemi: Yhden bitin 8x8 matriisissa on 2^64 eri bittikombinaatiota, joten aikasta paljon :). Mutta kun muistelen kyseistä efektiä, niin äkkiä tulis mieleen että fontin jokainen hahmo, kuudestatoista mahdollisesta, muodostaisi 4x1 matriisin joka on mahdollisesti levitetty pysty- ja vaakasuunnassa kaksinkertaiseksi. Voihan matriisi olla myös 1x1 mutta se veisi tavun per pikseli, ei paha. Eri asia on sitten se kuinka fontin pystyy vaihtamaan pelkän teksti-filen typeemisellä, saati asentamaan(voihan fontti olla korpulla valmiiksi asennettuna). Lisäksi muistelisin että kuvan piirtyessä, juuri piirrettävänä oleva juova näytti aika häröltä. Ja korkeammalta kuin yksi pikselirivi.

Näin se on melko varmaan tehty, koska muistaakseni kuvat ei ollut täydellisiä vaan niissä näkyi aika selviä "bugeja". Tulostetaan sopiva tekstirivi esim. 8 pikseliä korkealla fontilla(topaz 8) ja tuodaan ennen seuraavan rivin tulostusta kursoria 7 tai vähemmän pikseliä ylöspäin(jos se on mahdollista).

Heh, testailin fontteja DPaint3:lla ja WB3.1 Topaz 8 fontilla 'b', 'l', 'd' ja '/' merkkien kaksi ylintä juovaa tuottaa levitetyn 4x1 matriisin.

 

Jani Kuituniemi
Maanantaina, 20. kesäkuuta, 2005 - klo 19.08:   
Allu: oops, vanha shakkilauta huijasi minua taas :D Enpäs muistanut tuota (pitäisi varmaan opetella laskemaan). Ainakaan ANSI-koodeilla ei saa alle fontin korkeuden mukaisia määriä siirreltyä. Hmm.. entäs jos se fontti onkin yhden pisteen korkuinen fontti?

 

Piru
Maanantaina, 20. kesäkuuta, 2005 - klo 20.02:   
Tuo efekti on toteutettu muuttamalla consolen y-alkukohtaa [aSTO SET TOP OFFSET (private Amiga sequence)]. Y-offsettia voi muuttaa pikselirivi kerrallaan, ja tällöin voidaan tulostaa edellisen rivin "päälle", jolloin aiemmasta rivistä näkyy vain yksi, ylin pikselirivi. Tällöin tarvitsee vain etsiä topaz fontista kirjaimet joilla saadaan halutut pikselikombinaatiot ylimmälle riville.

PS. Efekti ei toimi OS 2.0+ console.devicen kanssa, lähinnä siksi että OS 2.0+ console piirtää koko konsolin uudelleen y-offsettia muutettaessa. Lisäksi topaz font on eri näköinen.

Koskapa tuo ei toimi kuin KS 1.x niin en jaksanut tätä enempää testailla.. Mutta teoriassa piirtely tapahtui tähän tapaan:

Quote:

alias e echo
e noline "*Ec" ; cls
e noline "*E[0 p" ; hide cursor
e "*E[10y*E[A TTTTTTT"
e "*E[11y*E[A | X I |"
e "*E[12y*E[A | I X |"
e "*E[13y*E[A |#####|"
e "*E[14y*E[A TTTTTTT"
e "*E[15y*E[A "
e "*N*N"
e noline "*E[ p" ; cursor visible




Luonnollisesti varsinaisen kuvan generoimiseen käytettiin ohjelmaa joka käänsi iff-ilbm kuvan tiedostoksi tulostamaan type-komennolla.

 

Piru
Maanantaina, 20. kesäkuuta, 2005 - klo 20.06:   
Hm. Saattoi olla että myös X-offsettia muutettiin CSI numero x komennolla... Tällöin kuvatiedoistoista tosin tulisi todella suuria.

 

JPQ
Maanantaina, 20. kesäkuuta, 2005 - klo 21.36:   
Tuo mun näkemäni kuva oli kyllä todella suuri ollakseen pelkkää
tuollaista kikkailua olisiko ollut 39000tavua.

 

Piru
Tiistaina, 21. kesäkuuta, 2005 - klo 2.23:   
JPQ, se on nimenomaan juuri tuollaista kikkailua.

@allu
"Lisäksi muistelisin että kuvan piirtyessä, juuri piirrettävänä oleva juova näytti aika häröltä. Ja korkeammalta kuin yksi pikselirivi."

Se korkea rivi on se alin rivi joka aina piirtyy luonnollisesti 8-pisteen korkuisena.

 

JPQ
Tiistaina, 21. kesäkuuta, 2005 - klo 2.25:   
Piru: sanoin huonosti enkä muista mitä tarkoitin.
PS. mitäs kuvasi esittää ja mistäs sait tiedot ja miten x suuntainen liike menee ?
PS. tämä kikka ei toimi siis muissa koneissa vai ?

 

Piru
Tiistaina, 21. kesäkuuta, 2005 - klo 2.27:   
Tuo toimii vain Amigassa ja KS 1.x koneissa.

Toki kuvia voi muuntaa asciiksi ja ansi koodeiksi, mutta tuommoinen tarkka piirto (mistä tässä on nimenomaan kyse) ei ole ansia. Kyseessä on "private Amiga sequence" ja sen abusointi.

 

Jope
Keskiviikkona, 22. kesäkuuta, 2005 - klo 13.09:   
2.0:lla toimivat kuvat varmastikin piirrettiin suoraan ruutuun.

Muistan nähneeni noita executablejen alussa.

 

JPQ
Keskiviikkona, 22. kesäkuuta, 2005 - klo 13.19:   
Jope: no tuo mistä puhun saatiin ruudulle type komennon kanssa
joten... tuli mieleen oliko mulla sitten jos tuossa jutussa olennainen
juttu ladataan kovikselta joku asentanut ikivanhan jutun tilalle...
aikoinaan uudemman koneeen kanssa jotkut pska softat asensi ikivanhan
diskfont.libraryn vanhan tilalle... (jos esimerkkejä muistelen...)

Lisää viestisi tähän
Viestisi:
Käyttäjätunnus: Postitus informaatiota:
Tämä on yksityinen keskustelupalsta. Vain rekisteröidyt käyttäjät ja moderaattorit voivat postittaa tänne.
Salasana:
valinnat: Aktivoi URL:t automaattisesti tässä viestissä
Toimenpide: