/// <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; }