CLS
h = 1
INPUT "Enter the Filename ", u$
OPEN "/mydoc/raw/" + u$ + ".raw" FOR BINARY AS #1
INPUT "Enter the width ", w
INPUT "Enter the height ", l
r = 64 / 48
s = w / l
IF w <= 640 AND l <= 480 THEN
x = (640 - w) / 2
a = x
y = (480 - l) / 2
END IF
DO
a$ = INPUT$(1, #1)
IF EOF(1) THEN
EXIT DO
END IF
GET #1, h, a$
h = h + 1
SCREEN 12
IF w > 640 AND s >= r THEN
WINDOW SCREEN (0, 0)-(w, 1 / r * w)
ELSEIF l > 480 AND s < r THEN
WINDOW SCREEN (0, 0)-(r * l, l)
END IF
IF (x - a) <> w THEN
IF ASC(a$) <= 200 THEN
PSET (x, y), 7
x = x + 1
ELSEIF ASC(a$) > 200 THEN
PSET (x, y), 15
x = x + 1
END IF
ELSEIF ASC(a$) <= 200 THEN
y = y + 1
x = a
PSET (x, y), 7
x = x + 1
ELSEIF ASC(a$) > 200 THEN
y = y + 1
x = a
PSET (x, y), 15
x = x + 1
END IF
LOOP 'end of plot
CLOSE #1
n = 1
r = 0
q = y
t = x
x = x - w
i = x
OPEN "/mydoc/ascii/" + u$ + ".txt" FOR OUTPUT AS #3
DO
start:
IF q <> y + l THEN
z = POINT(x, y)
IF z = 7 THEN
FOR o = 0 TO 5 STEP 1
IF z = 7 THEN
u = u + 1
m = m + y
PSET (x, y), 15
IF q <> y + l - 1 THEN
y = y - 1
ELSE GOTO go1:
END IF
END IF
NEXT
go1:
k = CINT(m / u) + 2
an = ABS(k - j)
IF (x - bb) > 5 THEN
an = 6
END IF
IF ABS(k - r) > 5 AND an > 5 AND b <> x THEN
IF r <> 0 THEN
LINE (b, r)-(x, k), 0
END IF
j = r
r = k
bb = b
b = x
PSET (x, k), 0
IF j = 0 THEN
c = 0
d = k
f = 0
ku = x
END IF
IF (k - d) > 0 THEN
c = -ABS(k - d)
f = x - ku
ELSEIF (k - d) < 0 THEN
c = ABS(k - d)
f = x - ku
ELSEIF k = d THEN
c = 0
f = x - ku
END IF
WRITE #3, f, c
END IF
y = k
m = 0
u = 0
GOTO start:
END IF
y = y - 1
ELSE
y = q
x = i + 1
i = x
END IF
LOOP UNTIL x = t
OPEN "/mydoc/raw/" + "~" + u$ FOR BINARY AS #2
u% = 0
t% = 255
h = 1
IF w <= 640 AND l <= 480 THEN
x = (640 - w) / 2
a = x
y = (480 - l) / 2
b = y
ELSE
x = 0
a = x
y = 0
b = y
END IF
DO
z = POINT(x, y)
IF x <> w + a AND z = 15 THEN
PUT #2, h, t%
h = h + 1
x = x + 1
ELSEIF x <> w + a AND z = 0 THEN
PUT #2, h, u%
h = h + 1
x = x + 1
ELSEIF x = w + a THEN
x = a
y = y + 1
END IF
LOOP UNTIL x = w + a AND y = l + b - 1
IF h - 1 <> w * l THEN PRINT "error"
END begin
|