30 lines
660 B
Plaintext
30 lines
660 B
Plaintext
Width% = 200
|
|
Height% = 200
|
|
|
|
VDU 23,22,Width%;Height%;8,16,16,128
|
|
*display c:\lena
|
|
|
|
FOR y% = 0 TO Height%-1
|
|
FOR x% = 0 TO Width%-1
|
|
rgb% = FNgetpixel(x%,y%)
|
|
r% = rgb% >> 16
|
|
g% = (rgb% >> 8) AND &FF
|
|
b% = rgb% AND &FF
|
|
l% = INT(0.3*r% + 0.59*g% + 0.11*b% + 0.5)
|
|
PROCsetpixel(x%,y%,l%,l%,l%)
|
|
NEXT
|
|
NEXT y%
|
|
END
|
|
|
|
DEF PROCsetpixel(x%,y%,r%,g%,b%)
|
|
COLOUR 1,r%,g%,b%
|
|
GCOL 1
|
|
LINE x%*2,y%*2,x%*2,y%*2
|
|
ENDPROC
|
|
|
|
DEF FNgetpixel(x%,y%)
|
|
LOCAL col%
|
|
col% = TINT(x%*2,y%*2)
|
|
SWAP ?^col%,?(^col%+2)
|
|
= col%
|