public void Init() { int i = 0; foreach (Direction d in _sprite.Directions) { DirectionLayout layout = new DirectionLayout(_sprite, d, this); layout.OnFrameClick += layout_OnFrameClick; layout.Modified += Modified; layout.Zoom = _zoom; DirectionHolder.Controls.Add(layout); layout.Location = new Point(2, i++ *(layout.Height + 2) + 2); } ((DirectionLayout)DirectionHolder.Controls[0]).Select(0); _selectedFrame = ((DirectionLayout)DirectionHolder.Controls[0]).SelectedFrame; SpriteDrawer.Content = (Bitmap)_sprite.GetImage((((DirectionLayout)DirectionHolder.Controls[0]).SelectedFrame.Index)); SpriteDrawer.ZoomIn(); SpriteDrawer.ZoomIn(); _tilesetCtrl = new TilesetControl2 { Tileset = SphereStudio.Vanilla.Tileset.FromSpriteset(_sprite), CanInsert = false }; _tilesetCtrl.ZoomIn(); _tilesetCtrl.Anchor = AnchorStyles.Left | AnchorStyles.Right | AnchorStyles.Top; _tilesetCtrl.TileSelected += _tileset_ctrl_TileSelected; _tilesetCtrl.TileAdded += _tileset_ctrl_TileAdded; _tilesetCtrl.TileRemoved += _tileset_ctrl_TileRemoved; ImageHolder.Controls.Add(_tilesetCtrl); _tilesetCtrl.Width = ImageHolder.Width - 6; DirectionAnim.Sprite = _sprite; DirectionAnim.Direction = _sprite.Directions[0]; FrameBaseEditor.Frame = _sprite.Directions[0].Frames[0]; }
private void AnimPanel_Paint(object sender, PaintEventArgs e) { if (_sprite == null || _dir.Frames.Count == 0) { Point ur = new Point(AnimPanel.Width, 0); Point lr = new Point(AnimPanel.Width, AnimPanel.Height); Point ll = new Point(0, AnimPanel.Height); e.Graphics.DrawLine(Pens.Red, Point.Empty, lr); e.Graphics.DrawLine(Pens.Red, ur, ll); } else { if (_dir == null) { return; } Image img = _sprite.GetImage(_dir.Name, FrameTracker.Maximum - FrameTracker.Value); e.Graphics.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.NearestNeighbor; e.Graphics.DrawImage(img, 0, 0, AnimPanel.Width, AnimPanel.Height); } }
private void FrameImage_Paint(object sender, PaintEventArgs e) { if (_sprite == null || _frame == null) { return; } Image bmap = _sprite.GetImage(_frame.Index); e.Graphics.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.NearestNeighbor; e.Graphics.PixelOffsetMode = System.Drawing.Drawing2D.PixelOffsetMode.Half; e.Graphics.DrawImage(bmap, FrameImage.ClientRectangle); using (Bitmap bg = new Bitmap(bmap.Width, bmap.Height)) { using (Graphics g = Graphics.FromImage(bg)) { g.DrawRectangle(Pens.Magenta, _sprite.SpriteBase.Rectangle); e.Graphics.DrawImage(bg, FrameImage.ClientRectangle); } } }