Startsidan  ▸  Texter  ▸  Teknikblogg

Anders Hesselbom

Programmerare, skeptiker, sekulärhumanist, antirasist.
Författare till bok om C64 och senbliven lantis.
Röstar pirat.

Skalning av vektorgrafik på Commodore 128

2013-06-16

Genom kommandot SCALE kan man skala vektorgrafiken, alltså den grafik som skapas med kommandon som DRAW, CIRCLE och BOX – inte sprite-grafik eller text. När man arbetar med högupplöst grafik utan skalning är skärmen 320 pixlar bred och 200 pixlar hög. Detta program skapar en stor ellips som tar upp nästan hela skärmen.

10 GRAPHIC 1, 1 : REM AKTIVERA HÖGUPPLÖST GRAFIK
20 CIRCLE 1, 159, 99, 130, 80 : REM RITA EN ELLIPS ÖVER NÄSTAN HELA
30 INPUT A$ : REM TRYCK PÅ ENTER FÖR ATT AVSLUTA
40 GRAPHIC 0 : REM ÅTERGÅ TILL TEXT-LÄGET

01

Genom att infoga SCALE-kommandot efter GRAPHIC-kommandot påverkar man skalan på det som ritas efter anropet på SCALE. SCALE har ingen effekt om det anropas innan man gått in i grafikläget (före GRAPHIC-anropet) och påverkar det som ritas därefter. Det första argumentet som skickas till SCALE är 1 för att aktivera skalning. Det andra är den antalet virtuella pixlar du vill ha i X-led, och det tredje är antalet virtuella pixlar du vill ha i Y-led.

Här infogar jag ett anrop på SCALE på rad 15 (efter GRAPHIC på rad 10) och anropar sedan RENUMBER för att få tillbaka jämna mellanrum mellan raderna. Även om pixlarna fortfarande är lika stora, ritas nu bilden med den virtuella upplösningen av 640 * 400 pixlar.

10 GRAPHIC 1, 1 : REM AKTIVERA HÖGUPPLÖST GRAFIK
20 SCALE 1, 640, 400
30 CIRCLE 1, 159, 99, 130, 80 : REM RITA SAMMA ELLIPS
40 INPUT A$ : REM TRYCK PÅ ENTER FÖR ATT AVSLUTA
50 GRAPHIC 0 : REM ÅTERGÅ TILL TEXT-LÄGET

02

Detta är användbart när man tänker på att flerfärgsläget innehåller väldigt breda pixlar. När flerfärgsgrafik används består skärmen (som är i 4:3-format) av 160 * 200 pixlar. Om vi kör ursprungsprogrammet, utan SCALE-anropet, i flerfärgsläge (läge 3).

10 GRAPHIC 3, 1 : REM AKTIVERA FLERFÄRGSGRAFIK
20 CIRCLE 1, 159, 99, 130, 80 : REM RITA SAMMA ELLIPS
30 INPUT A$ : REM TRYCK PÅ ENTER FÖR ATT AVSLUTA
40 GRAPHIC 0 : REM ÅTERGÅ TILL TEXT-LÄGET

03

Men trots pixlarnas storlek, kan man alltså behålla den virtuella upplösningen av 320 * 200 genom att anropa SCALE. Nu blir det dock lite lustigt. SCALE kompenserar inte för pixlarnas bredd, så de virtuella 320 * 200 pixlarna får vi när vi ber om 640 * 200 pixlar.

10 GRAPHIC 3, 1 : REM AKTIVERA FLERFÄRGSGRAFIK
20 SCALE 1, 640, 200
30 CIRCLE 1, 159, 99, 130, 80 : REM RITA SAMMA ELLIPS
40 INPUT A$ : REM TRYCK PÅ ENTER FÖR ATT AVSLUTA
50 GRAPHIC 0 : REM ÅTERGÅ TILL TEXT-LÄGET

04

För att stänga av skalning, anropa SCALE med argumentet 0.

Categories: Geeky

Tags: C128

2 responses to “Skalning av vektorgrafik på Commodore 128”

Leave a Reply

Your email address will not be published. Required fields are marked *



En kopp kaffe!

Bjud mig på en kopp kaffe (20:-) som tack för bra innehåll!

Bjud på en kopp kaffe!

Om...

Kontaktuppgifter, med mera, finns här.

Följ mig

Twitter Instagram
GitHub RSS

Public Service

Folkbildning om public service.

Hem   |   linktr.ee/hesselbom   |   winsoft.se   |   80tal.se   |   Filmtips