' RGB3.BAS CLS : PRINT "RGB3.bas": size = 1 ' choose: 1=full 2=half IF size = 1 THEN PRINT "size=640x480, outfile=RGB2.BMP" OPEN "c:\windows\640x480.bmp" FOR INPUT AS #1 OPEN "c:\windows\rgb2.bmp" FOR OUTPUT AS #2 ymax = 480: xmax = 640 END IF IF size = 2 THEN PRINT "size=320x240, outfile=RGB1.BMP" OPEN "c:\windows\320x240.bmp" FOR INPUT AS #1 OPEN "c:\windows\rgb1.bmp" FOR OUTPUT AS #2 ymax = 240: xmax = 320 END IF '------ 54 BYTES KOPIEREN: ----- x$ = INPUT$(54, #1) LOCATE 3, 1: PRINT "header:": PRINT x$ PRINT #2, x$; r = .45 * ymax rz = .65 * r rr = r * r xm = xmax / 2: ym = ymax * .4 x1 = xm: y1 = ym + rz x2 = xm - .866 * rz: y2 = ym - .5 * rz x3 = xm + .866 * rz: y3 = ym - .5 * rz LOCATE 6, 1: PRINT "writing RGB..BMP, " FOR y = 0 TO ymax - 1 LOCATE 7, 1: PRINT "line"; y FOR x = 0 TO xmax - 1 xx1 = x - x1: yy1 = y - y1 rr1 = xx1 * xx1 + yy1 * yy1 xx2 = x - x2: yy2 = y - y2 rr2 = xx2 * xx2 + yy2 * yy2 xx3 = x - x3: yy3 = y - y3 rr3 = xx3 * xx3 + yy3 * yy3 ' farbkreise: r = 0: g = 0: b = 0 IF rr1 < rr THEN r = 255 IF rr2 < rr THEN g = 255 IF rr3 < rr THEN b = 255 ' verlaufend: ' r = INT(256 * x / xmax): g = INT(256 * y / ymax): b = 0 PRINT #2, CHR$(r); CHR$(g); CHR$(b); NEXT x NEXT y CLOSE SYSTEM END