private static Bitmap MinimapToBitmap(byte[] minimap) { return(BitmapConvert.ToBitmap( minimap, SctReader.MinimapWidth, SctReader.MinimapHeight)); }
private Bitmap TileToBitmap(byte[] tile) { var bmp = BitmapConvert.ToBitmap( tile, MapConstants.TileWidth, MapConstants.TileHeight); return(this.tileCache.GetOrAddBitmap(bmp)); }
protected override void LoadFile(HpiArchive archive, HpiArchive.FileInfo file) { // extract and read the file var fileBuffer = new byte[file.Size]; archive.Extract(file, fileBuffer); var adapter = new GafEntryArrayAdapter(); using (var b = new GafReader(new MemoryStream(fileBuffer), adapter)) { b.Read(); } var gaf = adapter.Entries; var records = this.filenameFeatureMap[HpiPath.GetFileNameWithoutExtension(file.Name)]; // retrieve the anim for each record foreach (var record in records) { var sequenceName = record.SequenceName; if (string.IsNullOrEmpty(sequenceName)) { // Skip if this record has no sequence name. continue; } var entry = gaf.FirstOrDefault( x => string.Equals(x.Name, sequenceName, StringComparison.OrdinalIgnoreCase)); if (entry == null) { // skip if the sequence is not in this gaf file continue; } var frame = entry.Frames[0]; Bitmap bmp; if (frame.Data == null || frame.Width == 0 || frame.Height == 0) { bmp = new Bitmap(50, 50); } else { bmp = BitmapConvert.ToBitmap( frame.Data, frame.Width, frame.Height, frame.TransparencyIndex); } var offsetImage = new OffsetBitmap(-frame.OffsetX, -frame.OffsetY, bmp); this.Records.Add(new KeyValuePair <string, OffsetBitmap>(record.Name, offsetImage)); } }
private static Bitmap ToBitmap(MinimapInfo minimap) { return(BitmapConvert.ToBitmap(minimap.Data, minimap.Width, minimap.Height)); }