Example #1
0
 /// <summary>
 ///     Erstellt ein Bitmap Objekt aus den Tile Daten
 /// </summary>
 /// <param name="pal">Palette, die zur Darstellung verwendet werden soll</param>
 /// <returns>Bitmap Objekt, welches das Tile darstellt</returns>
 public Bitmap ToBitmap(Palette pal)
 {
     var colorentries = new List<Byte>(64);
     if (_is8Bpp && (!pal.Is256Color()))
     {
         throw new Exception("Die angegebene Palette ist nicht im 8bpp Modus.");
     }
     foreach (byte b in _data)
     {
         if (!_is8Bpp)
         {
             var first = (byte) (b & 15);
             var second = (byte) (b >> 4);
             colorentries.Add(first);
             colorentries.Add(second);
         }
         else
         {
             colorentries.Add(b);
         }
     }
     var output = new Bitmap(8, 8);
     for (int i = 0; i < colorentries.Count; i++)
     {
         int y = i/8;
         int x = i%8;
         output.SetPixel(x, y, pal.Entries[colorentries[i]].ToColor());
     }
     return output;
 }