home *** CD-ROM | disk | FTP | other *** search
/ CD Actual 15 / CDACTUAL15.iso / cdactual / program / basic / PGL.ZIP / PGLPS.ZIP / BM.PAS next >
Encoding:
Pascal/Delphi Source File  |  1992-01-20  |  1.8 KB  |  63 lines

  1. { BM.PAS   PGL - Screen-Bitmap dump to drawing file }
  2. {          PGL can support 1,2,4, or 8 bit per pixel color bitmaps }
  3.  
  4. program bm;
  5. {$R-,S-}
  6.  
  7. uses Crt, Graph, PGL;
  8.  
  9. var
  10.     device, mask, mode, err, i, j, bpp : integer;
  11.     data : array [0..639] of integer;
  12.  
  13.     begin
  14.            initgraph( device, mode, '\tp6\bgi' );
  15.            err := graphresult;
  16.            if graphresult = GrOk then
  17.             begin
  18.  
  19.              setcolor( 1 );
  20.              rectangle( 0,0, getmaxx, getmaxy );
  21.              settextjustify(CENTERTEXT,CENTERTEXT);
  22.              settextstyle(TRIPLEXFONT, HORIZDIR, 8);
  23.              outtextxy( getmaxx DIV 2,getmaxy DIV 2,' Hello World ');
  24.  
  25.              { Init a drawing }
  26.              pgInitDrw( 'bm.plt',getmaxx+1,getmaxy+1, err);
  27.              if err = 0 then
  28.                begin
  29.                pgSetFillMode(pgTRANS);
  30.  
  31.                { Init a bitmap 1,2,4,or 8 bits per pixel }
  32.                { 256 color : bpp = 8 }
  33.                {  16 color : bpp = 4 }
  34.                {   2 color : bpp = 1 }
  35.                bpp := 1;
  36.                mask := (1 shl bpp) - 1 ;
  37.                pgBMInit(0,0,getmaxx+1,getmaxy+1,bpp,1);  
  38.  
  39.                for j:=0 to getmaxy do
  40.                begin
  41.                 for i:=0 to getmaxx do
  42.                  begin
  43.                  if bpp=1 then
  44.                    begin
  45.                      data[i] := getpixel(i,j);
  46.                      if data[i] > 0 then data[i] := 1;
  47.                    end
  48.                  else
  49.                    begin
  50.                      data[i] := getpixel(i,j) and mask;
  51.                    end;
  52.                  end;
  53.                 pgBMData(j,data);
  54.                end;
  55.               pgBMEnd;
  56.               {  End bitmap definition ------------ }
  57.  
  58.               pgEndDrw;
  59.               end;
  60.            closegraph;
  61.            end;
  62.     end.
  63.