// Achtbit_r.txt
// 
// Wandelt Bilder-Liste vom 16-Bit-Format ins 8-Bit-Format um.
// Alle Bilder oberhalb und einschlielich des aktuellen Bildspeichers, die im 16-Bit-Format vorliegen, werden umgewandelt.
// Daten in dem auf den aktuellen Bildspeicher folgenden Bildspeicher werden dabei berschrieben - auch bei aktiviertem Schreibschutz.


int nBuf;
int endBuf;
int maxBuf;
int DestBuf;
LPSTR imagename;
WORD BitDepth;
BOOL Protected;


endBuf = opGetDisplay();
maxBuf = opGetImageCount();

if (endBuf + 1 <= maxBuf)
  {
    DestBuf = endBuf+1;
    opSetDisplay(DestBuf);
    ProtectImage(FALSE);
    for (nBuf = 1; nBuf <= endBuf ;nBuf++)
      {
        BitDepth = bmpGetDimension(nBuf);
        Protected = imgGetProtection(nBuf);
        if (BitDepth == 2 && !Protected)
          {
            opSetSource(nBuf);
            opSetDest(DestBuf);
            imagename = Image[nBuf].Name;
            BildKonvertieren16BitNach8Bit();
            imgMove(DestBuf,nBuf);
            Image[nBuf].Name = imagename;
          }
        else
          {
            dlgOutput("Bild %d nicht umgewandelt, da kein 16-Bit-Bild oder schreibgeschtzt!", "Warnung", MB_OK, nBuf);
          }
        opSetDisplay(nBuf);
        ProtectImage(TRUE);
      };
  }
else
  {
    dlgOutput("Zu wenig verfgbare Bildspeicher !", MB_OK);
  }
