WERKEN MET AMOS deel 38 """"""""""""""""""""""" Filled shapes (gevulde vormen) """""""""""""""""""""""""""""" PAINT (Vullen van een vorm) PAINT x,y mode Het PAINT kommando geeft je de mogelijkheid om elke vorm met een kleur te vullen. De vorm moet ononderbroken getekend zijn geweest. Daarnaast kun je ook nog een patroon kiezen met het SET PATTERN kommando. x,y zijn de koordinaten van een punt binnen in het te vullen vlak, mode kan op de waarde 1 of 2 gezet worden. Met een waarde van 0 stopt het vul proces zodra de eerste gevonden punt (pixel) gevonden wordt met de huidige rand (border) kleur. Is de mode 1 gezet, stopt het vullen zodra de vulkleur een pixel bereikt die een andere kleur heeft dan de bestaande ink kleur. PAINT vult elke oppervlakte die je maar wilt, vooropgesteld dat de opper vlakte door lijnen omsloten is. Is er echter een opening, van slechts 1 pixel groot, dan lekt de kleur er uit en kleurt de achtergrond mee. BAR (Tekent een gevulde recht hoek) BAR x1,y1 To x2,y2 Tekent een gevulde rechthoek op de x1,y1 koordinaten aan de linker bovenhoek tot aan de x2,y2 koordinaten aan de rechter onderhoek. Een diagonale plaats bepaling dus. Bijvoorbeeld: Curs Off; Flash Off: Randomize timer Do X1=Rnd(200):Y1=Rnd(100):W=Rnd(100):H=Rnd(80) Ink Rnd(15):Bar X1,Y1 To X1+W,Y1+H Loop Zie ook BOX, SET PAINT en INK POLYGON (Tekent een gevulde polygoon -veelhoek-) POLYGON x1,y1 To x3,y3 ... POLYGON To x1,y1 To x2,y2 ... POLYGON tekent een gevulde veelhoek in de bestaande ink kleur. Het is hetzelfde als POLINE maar hij vult nu de gesloten vlakken. Zoals gebruikelijk kun je de vulkleur met het INK kommando en het vul patroon met het SET PATTERN kommando inzetten. De koordinaten (x1,y1),(x2,y2),(x3,y3) bepalen de begin en de eindpunten van de lijnen waarmee de veelhoek getekend wordt. Er is eigenlijk geen beperking aan de aantal koordinaten paren, dan de lengte van de AMOS Basic regels van 255 letters per regel. Dit betekent dat je zeer ingewikkelde veelhoeken kunt tekenen met deze instruktie. Er is ook nog een tweede vorm van het POLYGON kommando, die steeds begint vanaf het punt waar je cursor staat. Dat gaat zo: POLYGON To x1,y1 To x2,y2 ... Op de begin koordinaten na is het een standaard POLYGON instruktie. Do Ink Rnd(15) X1=Rnd(200):Y=Rnd(100):W=Rnd(90) Polygon X1,Y1 To X1+W,Y1 To x1+W/2,Y1+H To X1,Y1 Loop Dit programma vult het scherm met mooie gekleurde driehoeken. Zie ook POLYLINE, INK, SET PAINT. Vul soorten """"""""""" In AMOS Basic ben je niet gebonden aan het vullen van je vormen met een vlakke kleur. Er zijn tientallen vul patronen waaruit je kunt kiezen en zelfs dan kun je nog je eigen patronen laden direkt vanuit de Sprite bank. SET PATTERN (Kies een vul patroon) SET PATTERN pattern Met dit kommando kun je een vul patroon kiezen om bij je teken operaties te gebruiken. Er zijn drie mogelijkheden. Pattern=0 Dit is de standaard waarde en vult het vlak met een vlakke INK kleur Patter>0 Wanneer het pattern nummer groter dan nul is, kiest AMOS Basic een van de 32 ingebouwde vul typen. Deze kun je vinden in de MOUSE.ABK file op de startup disk. Je kunt ze bewerken met behulp van de AMOS Basic Sprite definer. Let er op dat de eerste drie plaatjes in deze file voor de muiscursor nodig zijn. (Zie CHANGE MOUSE (Verander de muis)). Pattern<0 Dit is de meest krachtige keuze van alle drie, pattern wijst nu naar een sprite plaatje in bank een. Het beeldnummer wordt berekend met de formule: SPRITE IMAGE = PATTERN*-1 Het gekozen plaatje wordt onmiddellijk omgerekend voor het gebruik, overeenkomstig de volgende regels. *De breedte van het plaatje wordt gepakt op 16 pixels *De hoogte wordt afgerond op de dichtstbijzijnde macht van twee, 1,2,4,8,16, 32,64. Afhankelijk van het type van je plaatje wordt het patroon op een of twee manieren getekend. Tweekleuren plaatjes worden als monochrome getekend. De bestaande kleuren in je beeld worden helemaal genegeerd en het patroon gebruikt de huidige Ink en paper kleuren. Het is ook mogelijk om veelkleurige patronen te gebruiken. In dit geval worden de voorgrond kleuren van je plaatje gemengd met de huidige ink kleur met het AND. Op dezelfde manier wordt de paper kleur op OR gezet met de sprite achtergrond (kleur 0). Als je de originele sprite kleuren wenst te gebruiken, moet je de Ink en de achtergrond kleuren zo zetten: Ink 31,0 Vergeet niet je sprite palet te laden van de sprite bank met GET SPRITE PALETTE voordat je deze instrukties gebruikt. Anders ziet het beeld er uit als een rommeltje. Zie CIRCLE, ELLIPSE, BAR en POLYGON. SET PAINT (Bepaalt/wist de outline mode) SET PAINT n Het SET PAINT kommando trekt een lijn om een figuur getekend door de POLYGON of BAR instruktie. Als standaard staat deze keuze op OFF (UIT). Is n=1 dan wordt die keuze geaktiveerd en wordt er een lijn getrokken om de vorm met gebruikmaking van de rand (border) kleur in het eerdere INK kommando. Bijvoorbeeld: Ink,,5:Set Paint:Bar 100,100 to 200,150 Je kan de buitenlijn weer uitschakelen door de waarde 0 op te geven met SET PAINT.