private void OnKeyboardDown(object sender, KeyboardEventArgs args) { if (args[KeyModifier.Control, Key.F5]) { string filename = Common.CaptureFilename; using (GifFile file = new GifFile(Runtime.Bitmap)) using (FileStream fs = new FileStream(filename, FileMode.Create, FileAccess.Write)) { byte[] output = file.GetBytes(); fs.Write(output, 0, output.Length); Runtime.Log($"Screenshot saved: {filename}"); } return; } if (args[KeyModifier.Control, Key.F6] && Game.Started) { string filename = Common.CaptureFilename; using (IBitmap tilesPicture = Map.Instance[0, 0, Map.WIDTH, Map.HEIGHT].ToBitmap()) using (GifFile file = new GifFile(tilesPicture)) using (FileStream fs = new FileStream(filename, FileMode.Create, FileAccess.Write)) { byte[] output = file.GetBytes(); fs.Write(output, 0, output.Length); Runtime.Log($"Screenshot saved: {filename}"); } return; } TopScreen?.KeyDown(args); }
private void OnKeyboardDown(object sender, KeyboardEventArgs args) { if (args[KeyModifier.Control, Key.F5]) { string filename = Common.CaptureFilename; if (Runtime.Layers == null) { return; } using (IBitmap bitmap = new Picture(CanvasWidth, CanvasHeight, Common.TopScreen.Palette.Copy())) { bitmap.Palette[0] = Colour.Black; if (Common.HasAttribute <Modal>(TopScreen)) { bitmap.AddLayer(TopScreen); } else { Runtime.Layers.ToList().ForEach(x => bitmap.AddLayer(x)); } using (GifFile file = new GifFile(bitmap)) using (FileStream fs = new FileStream(filename, FileMode.Create, FileAccess.Write)) { byte[] output = file.GetBytes(); fs.Write(output, 0, output.Length); Runtime.Log($"Screenshot saved: {filename}"); } } return; } if (args[KeyModifier.Control, Key.F6] && Game.Started) { string filename = Common.CaptureFilename; using (IBitmap tilesPicture = Map.Instance[0, 0, Map.WIDTH, Map.HEIGHT].ToBitmap()) using (GifFile file = new GifFile(tilesPicture)) using (FileStream fs = new FileStream(filename, FileMode.Create, FileAccess.Write)) { byte[] output = file.GetBytes(); fs.Write(output, 0, output.Length); Runtime.Log($"Screenshot saved: {filename}"); } return; } TopScreen?.KeyDown(args); }