Halftone.bas by Bob Seguin
Description: A program to examine the possibilities of mixing the 16 basic palette colors in SCREEN 12 as halftones to provide more than 16 colors on the screen at one time.
Code: (Select All)
'****************************************************************************
'
' HALFTONE.BAS: Bob Seguin - 2003 (freeware)
'
' A program to examine the possibilities of mixing the
' 16 basic palette colors in SCREEN 12 as halftones to
' provide more than 16 colors on the screen at one time.
'
' To use, send the sub program the left/top/right/bottom
' boundaries of the shape being halftoned along with
' ColorKEY and ToneCOLOR (the shape is in ColorKEY).
'
' NOTE: Follow row and column from the halftone to find the
' attribute numbers involved.
'
' Comments: (textury, but useful in certain applications,
' such as fabrics, wood, etc.)
'
'
'****************************************************************************
DEFINT A-Z
_TITLE "Halftone.bas by Bob Seguin"
DIM Box(1 TO 1600)
SCREEN 12
PALETTE 4, 63 'set default dark red to brightest red
LOCATE 2, 2: PRINT "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15"
FOR x = 8 TO 384 STEP 24
GET (x, 16)-(x + 16, 28), Box(n + 1)
n = n + 100
NEXT x
CLS
FOR y = 0 TO 15
FOR x = 0 TO 15
LINE (x * 40, y * 30)-(x * 40 + 37, y * 30 + 27), y, BF
HalfTONE x * 40, y * 30, x * 40 + 37, y * 30 + 27, y, x
NEXT x
NEXT y
n = 0: y = 8
FOR x = 15 TO 611 STEP 40
IF x = 415 THEN x = 411
PUT (x, y), Box(n + 1)
n = n + 100
y = y + 30
NEXT x
DO: LOOP UNTIL INKEY$ <> ""
END
SUB HalfTONE (x1, y1, x2, y2, ColorKEY, ToneCOLOR)
FOR x = x1 TO x2 STEP 2
FOR y = y1 TO y2 STEP 2
IF POINT(x, y) = ColorKEY THEN PSET (x, y), ToneCOLOR
IF POINT(x + 1, y + 1) = ColorKEY THEN PSET (x + 1, y + 1), ToneCOLOR
NEXT y
NEXT x
END SUB
Description: A program to examine the possibilities of mixing the 16 basic palette colors in SCREEN 12 as halftones to provide more than 16 colors on the screen at one time.