コード例 #1
0
 public void Fill(Point point)
 {
     if (MouseColor != null && point.X >= 0 && point.X < SourceImage.Size.Width && point.Y >= 0 && point.Y < SourceImage.Size.Height)
     {
         using (SuspendUpdateVisualImage())
             using (SourceImage.Palette.SuppressRemoveColorsWithoutOccurrences())
                 using (UndoRedo.BeginMultiActionsUndoRedoStep(UndoRedoProvider.UndoRedoActionFillRegion))
                 {
                     ImagePainter.Fill(SourceImage, MouseColor, point.X, point.Y);
                     SourceImage.TriggerImageChanged();
                 }
     }
 }
コード例 #2
0
        public void FinishMoveSelection()
        {
            if (GridPainter.InsertedBlock != null)
            {
                using (SuspendUpdateVisualImage())
                    using (SourceImage.Palette.SuppressRemoveColorsWithoutOccurrences())
                        using (UndoRedo.BeginMultiActionsUndoRedoStep(UndoRedoProvider.UndoRedoActionPaste))
                        {
                            ImageCopier.CopyWithPalette(GridPainter.InsertedBlock, SourceImage, new Point(SelectedRect.Left, SelectedRect.Top));

                            GridPainter.InsertedBlock = null;

                            if (MouseMode == MouseActionMode.MoveSelection)
                            {
                                MouseMode = MouseActionMode.Shift;
                            }

                            UpdateVisualImage();
                            SourceImage.TriggerImageChanged();
                        }
            }
        }