home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 3 / PDCD_3.iso / pocketbk / pictures / eikon / ICONVERT.OPL < prev    next >
Text File  |  1993-12-26  |  909b  |  54 lines

  1. REM ICONVERT
  2. REM converts 24x24 monochrome bitmaps to 48x48 with grey plane
  3. REM by Roger Burton-West <ubte30e@ucl.ac.uk>
  4. REM copy freely and of your own will
  5.  
  6. PROC iconvert:
  7.     local f$(128),m$(128)
  8.     local buffer%(2049),buf%
  9.     local h1%,m&
  10.     local wi%,wo%,x%,y%
  11.     f$="\OPD\*.PIC"
  12.     m$="\OPD\.pic"
  13.     dINIT "Icon converter"
  14.     dFILE f$,"Source file:",8
  15.     dFILE m$,"Target file:",9
  16.     if DIALOG=0
  17.         return
  18.     endif
  19.     err%:(ioopen(h1%,f$,$600))
  20.     m&=0
  21.     err%:(ioseek(h1%,2,m&))
  22.     if m&<>116
  23.         ALERT("File is wrong length")
  24.         RETURN
  25.     endif
  26.     err%:(ioclose(h1%))
  27.     wi%=gLOADBIT(f$,0)
  28.     wo%=gCREATE(0,0,48,48,1,1)
  29.     gGREY 2
  30.     gCLS
  31.     gAT 24,24
  32.     gCOPY wi%,0,0,24,24,3
  33.     y%=24
  34.     do
  35.         gAT 24,y%-1
  36.         gCOPY wo%,24,y%,24,y%,3
  37.         y%=y%-1
  38.     until y%=0
  39.     x%=24
  40.     do
  41.         gAT x%-1,0
  42.         gCOPY wo%,x%,0,x%,48,3
  43.         x%=x%-1
  44.     until x%=0
  45.     gSAVEBIT m$
  46. ENDP
  47.  
  48. PROC err%:(x%)
  49.     if x%<0
  50.         raise x%
  51.     endif
  52.     return x%
  53. ENDP
  54.