home *** CD-ROM | disk | FTP | other *** search
- { BM.PAS PGL - Screen-Bitmap dump to drawing file }
- { PGL can support 1,2,4, or 8 bit per pixel color bitmaps }
-
- program bm;
- {$R-,S-}
-
- uses Crt, Graph, PGL;
-
- var
- device, mask, mode, err, i, j, bpp : integer;
- data : array [0..639] of integer;
-
- begin
- initgraph( device, mode, '\tp6\bgi' );
- err := graphresult;
- if graphresult = GrOk then
- begin
-
- setcolor( 1 );
- rectangle( 0,0, getmaxx, getmaxy );
- settextjustify(CENTERTEXT,CENTERTEXT);
- settextstyle(TRIPLEXFONT, HORIZDIR, 8);
- outtextxy( getmaxx DIV 2,getmaxy DIV 2,' Hello World ');
-
- { Init a drawing }
- pgInitDrw( 'bm.plt',getmaxx+1,getmaxy+1, err);
- if err = 0 then
- begin
- pgSetFillMode(pgTRANS);
-
- { Init a bitmap 1,2,4,or 8 bits per pixel }
- { 256 color : bpp = 8 }
- { 16 color : bpp = 4 }
- { 2 color : bpp = 1 }
- bpp := 1;
- mask := (1 shl bpp) - 1 ;
- pgBMInit(0,0,getmaxx+1,getmaxy+1,bpp,1);
-
- for j:=0 to getmaxy do
- begin
- for i:=0 to getmaxx do
- begin
- if bpp=1 then
- begin
- data[i] := getpixel(i,j);
- if data[i] > 0 then data[i] := 1;
- end
- else
- begin
- data[i] := getpixel(i,j) and mask;
- end;
- end;
- pgBMData(j,data);
- end;
- pgBMEnd;
- { End bitmap definition ------------ }
-
- pgEndDrw;
- end;
- closegraph;
- end;
- end.