Реализация Undo/Redo

195
30 марта 2017, 18:07

Доброго времени суток. Необходимо последний нарисованный объект в Bitmap. Сложность в том, что прорисовка одного объекта состоит из нескольких операций, про которые пользователю не нужно знать. Заранее прошу прощение, если где-то не корректно выразился. Вот пример одного из методов:

        Graphics g = Graphics.FromImage(bmp);
        g.TextRenderingHint = System.Drawing.Text.TextRenderingHint.SingleBitPerPixelGridFit;
        x1 = x1 * razmer_setki;
        x2 = x2 * razmer_setki;
        y2 = y1 * razmer_setki;
        y1 = y2 - razmer_setki;
        PointF point1 = new PointF(x1, y1);
        PointF point2 = new PointF(x2, y2);
        PointF point3 = new PointF(x1, y2);
        PointF point4 = new PointF(x2, y1);
        PointF[] curvePoints = { point3, point2, point4, point3, point1, point4 };
        g.DrawLines(TrainPen, curvePoints);
        point2 = new PointF(x2 - 1, y2 - 1);
        point3 = new PointF(x1 + 1, y2);
        point4 = new PointF(x2 - 1, y1 + 1);
        PointF[] curvePoints2 = { point3, point2, point4, point3 };
        g.FillPolygon(TrainBrush, curvePoints2);
        String drawString = Pogruzka.Text;
        Font drawFont = new Font("Arial", 8);
        SolidBrush drawBrush = new SolidBrush(Color.Black);
        PointF drawPoint = new PointF(x1, y1);
        g.DrawString(drawString, drawFont, drawBrush, drawPoint);
        pictureBox1.Image = bmp;
        g.Dispose();

Если я правильно понял, то все операции надо сохранять где-либо, но как это в моём случае лучше реализовать?

READ ALSO
Уничтожить Window после завершения потока

Уничтожить Window после завершения потока

Есть метод Something я его запускаю 100500 раз, однако объект SystemWindows

184
Заменить “-” на пробел

Заменить “-” на пробел

Чтобы перевести строку в hex код, нужно применить этот код:

181
C# Сервер нарушил протокол. Section=ResponseStatusLine

C# Сервер нарушил протокол. Section=ResponseStatusLine

Возникает ошибка: Сервер нарушил протоколSection=ResponseStatusLine Ссылку на ресурс дать не смогу

426
Отображение загрузки файла WebMethod

Отображение загрузки файла WebMethod

Есть WebMethod который принимает html и помещает в pdf файл(в темп юзера)Файл формируется, сохраняется, но это происходит незаметно для пользователя(не...

252