home *** CD-ROM | disk | FTP | other *** search
- (* ------------------------------------------------------ *)
- (* TOGRAY2.PAS *)
- (* Wandelt Bi-level Bilder in Graustufen-Bilder um. *)
- (* Belegt Interrupt 8, arbeitet im Modus 640 x 480 x 16 *)
- (* (c) 1990 Dietmar Ring & TOOLBOX *)
- (* ------------------------------------------------------ *)
- {$M 4096,0,48000}
-
- USES Graph, Dos, Crt;
-
- VAR
- Driver, Modus : INTEGER;
- Driver_zeiger : POINTER;
- Fehler : INTEGER;
- Breite, Hoehe : INTEGER;
-
- {$L EGAVGA} { Bindet den VGA-Treiber ein }
-
- PROCEDURE EgaVGAdriverProc; EXTERNAL;
-
- PROCEDURE Schreiben; INTERRUPT;
- VAR
- x, y : INTEGER;
- xx, yy : INTEGER;
- Raster : INTEGER;
- Mstab : INTEGER;
- Farbe : INTEGER;
- Result : INTEGER;
- BEGIN
- Raster := 0;
- Mstab := 0;
- WHILE (Raster = 0) DO Val(ReadKey, Raster, Result);
- IF (Raster = 1) THEN
- Raster := 3;
- WHILE (Mstab = 0) DO Val(ReadKey, Mstab, Result);
- x := 0;
- y := 0;
- WHILE (y < Hoehe) DO BEGIN
- WHILE (x < Breite) DO BEGIN
- Farbe := 1;
- FOR xx := 1 TO Raster DO
- FOR yy := 1 TO Raster DO
- IF (GetPixel(x+xx, y+yy)) > 0 THEN Inc(Farbe);
- PutPixel(Trunc(x/Mstab), Trunc(y/Mstab), Farbe);
- IF KeyPressed THEN
- IF (ReadKey = #27) THEN Exit;
- Inc(x, Mstab);
- END;
- x := 1;
- Inc(y, Mstab);
- END;
- END;
-
- BEGIN
- Driver := VGA;
- Modus := VGAHi;
- Breite := 639;
- Hoehe := 479;
-
- Fehler := RegisterBGIdriver(Addr(EgaVGAdriverProc));
- InitGraph(Driver, Modus, '');
-
- IF (Fehler > -1) THEN BEGIN
- SetIntVec(5, @Schreiben);
- OuttextXY(10, 15, 'ToGray installiert');
- OuttextXY(10, 30, 'Aufruf mit <Prtscr> gefolgt von ');
- OuttextXY(10, 45, 'zweimal einer Zahl zwischen ' +
- '1 und 9');
- OuttextXY(10, 60, 'Prtscr 1 1 ruft mit ' +
- 'Defaultwerten auf');
- WriteLn;
- WriteLn;
- WriteLn;
- WriteLn;
- Keep(0);
- END;
-
- RestoreCrtMode;
- WriteLn;
- WriteLn('Fehler: nicht installert ');
- Halt(1);
-
- END.
- (* ------------------------------------------------------ *)
- (* Ende von TOGRAY2.PAS *)