Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
0 / 0 / 1
Регистрация: 03.08.2016
Сообщений: 81
1

Сохранение нарисованной фигуры

02.10.2017, 11:36. Показов 2047. Ответов 14
Метки нет (Все метки)

Всем привет! У меня вот возник такой вопрос, как можно сохранить нарисованый обьект на winforme. Что бы он у нас отражался на на форме_??
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.10.2017, 11:36
Ответы с готовыми решениями:

Перемещение нарисованной фигуры по форме
Как осуществить перемещение фигуры? Например, квадрата.

Изменить размер нарисованной фигуры
Я рисую фигуру произвольной формы. Необходимо увеличить или уменьшить её. (см. вложения, во 2...

Задать координаты нарисованной фигуры
Здравствуйте! У меня такая проблема: я рендомно задала координаты овалу, чтобы при каждом щелчке по...

Изменение размеров нарисованной фигуры
Доброго времени суток! Возникла проблема с изменением размеров нарисованной фигуры. Необходимо...

14
907 / 792 / 329
Регистрация: 08.02.2014
Сообщений: 2,391
02.10.2017, 11:58 2
что вы подразумеваете под "сохранить .... чтобы он отражался на форме "???
0
0 / 0 / 1
Регистрация: 03.08.2016
Сообщений: 81
02.10.2017, 12:46  [ТС] 3
да)
0
Usaga
02.10.2017, 13:41
  #4

Не по теме:

- Что вы имеете в виду?
- Да!

Офигенный ответ)

0
SeIZVeIZ
02.10.2017, 13:56
  #5

Не по теме:

Usaga, Лучше и не ответить, просто исчерпывающий ответ же :D

0
0 / 0 / 1
Регистрация: 03.08.2016
Сообщений: 81
02.10.2017, 14:13  [ТС] 6
Мне нужно что бы, моя фигура сохранялась отдельно в форме))
0
Эксперт .NET
9215 / 6589 / 1072
Регистрация: 21.01.2016
Сообщений: 24,901
02.10.2017, 14:17 7
kemka, и что под этим подразумевается? Только без "Да".
0
887 / 796 / 326
Регистрация: 03.02.2015
Сообщений: 5,116
Записей в блоге: 9
02.10.2017, 14:22 8
Цитата Сообщение от kemka Посмотреть сообщение
Мне нужно что бы, моя фигура сохранялась отдельно в форме))
А сей час она у Вас как сохраняется? Не отдельно?
0
0 / 0 / 1
Регистрация: 03.08.2016
Сообщений: 81
02.10.2017, 14:38  [ТС] 9
Usaga, Сейчас она у меня не сохраняеться вообще. Но я хочу что бы она сохраннялась и показывала на форме что я ее сохранил.

Добавлено через 33 секунды
И как это можно сделать)??
0
887 / 796 / 326
Регистрация: 03.02.2015
Сообщений: 5,116
Записей в блоге: 9
02.10.2017, 14:40 10
Цитата Сообщение от kemka Посмотреть сообщение
Сейчас она у меня не сохраняеться вообще.
Ну хоть рисует?
0
0 / 0 / 1
Регистрация: 03.08.2016
Сообщений: 81
02.10.2017, 14:42  [ТС] 11
Она у меня нарисована)) Даже двигается по PicterBox, но мне нужно что бы она с боку сохраннялась, когда я нажаж на нее))
0
Эксперт .NET
9215 / 6589 / 1072
Регистрация: 21.01.2016
Сообщений: 24,901
02.10.2017, 14:58 12
kemka, куда сохранялась? В файл?
0
887 / 796 / 326
Регистрация: 03.02.2015
Сообщений: 5,116
Записей в блоге: 9
02.10.2017, 14:58 13
Покажите уже код.
0
0 / 0 / 1
Регистрация: 03.08.2016
Сообщений: 81
02.10.2017, 15:02  [ТС] 14
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
 
namespace Figurest
{
 
    public partial class Movi_Figurs : Form
    {
 
 
        Graphics g;
        List<Figrs> figurs = new List<Figrs>();
        Point p;
        public int x = 50;
        
       
 
        public Movi_Figurs()
        {
            InitializeComponent();
            treeView1.Nodes.Add("Circle");
            treeView1.Nodes.Add("Rectunyle");
            treeView1.Nodes.Add("Triangle");
            g = PbMain.CreateGraphics();
           
        }
 
 
 
 
        private void btn_Circle_Click(object sender, EventArgs e)
        {
            Timer time = new Timer();
            time.Interval = 5000;
            time.Enabled = true;
            
           // time.Tick += btn_Circle_Click;
 
            if (figurs.Count > 0)
                figurs.RemoveAt(figurs.Count - 1);
            figurs.Add(new Circle(g, x, 50, 30));
            
          Invalidate();
        
    }
 
 
        private void PbMain_Paint(object sender, PaintEventArgs e)
        {
            Graphics g = e.Graphics;
            
            foreach (Figrs f in figurs )
            {
               
               f.Draw(g);
               f.Move(p);
                
            }
            
            Invalidate();
           
        }
 
        
 
        private void btn_Roctunyle_Click(object sender, EventArgs e)
        {
            if (figurs.Count > 0)
                figurs.RemoveAt(figurs.Count - 1);
            figurs.Add(new Rectangl());
            
            PbMain.Invalidate();
            
        }
 
        private void btn_Tringle_Click(object sender, EventArgs e)
        {
            if (figurs.Count > 0)
                figurs.RemoveAt(figurs.Count - 1);
            figurs.Add(new Triangle());
            PbMain.Invalidate();
        }
 
        private void timer_Tick(object sender, EventArgs e)
        {
            p = new Point(20, 10);
 
            
 
            PbMain.Invalidate();
 
        }
    }
 
    abstract class Figrs
 
    {
        public int x;
        public int y;
        public int dx=4; 
        public int dy=-4;
      
        abstract public void Move(Point p);
        abstract public void Draw(Graphics g);
 
    }
    class Circle : Figrs
    {
        public Point position = new Point(10, 10);
        int diameter;
        Graphics g;
 
        
        public Circle(Graphics g, int x, int y, int diameter)
        {
            this.g = g;
            this.x = x;
           this.y = y;
            this.diameter = diameter;
 
        }
 
        public override void Draw(Graphics g)
        {
            
            
            Pen pen = new Pen(Color.Black);
            
            g.DrawEllipse(pen, x,y,70,70);
 
            g.FillEllipse(Brushes.Red, x, y, 70, 70);
 
            
 
        }
        
        public override void Move(Point p )
        {
           
            x += 10;
            this.position.X += p.X;
            this.position.Y += p.Y;
            
            
        }
       }
    class Rectangl : Figrs
    {
 
        Point position = new Point(20, 20);
       //Graphics gr;
 
       /* int a;
        int b;
 
        
 
        public Rectangl(Graphics gr, int x, int y, int w, int h)
        {
            this.gr = gr;
            this.x = x;
            this.y = y;
            this.a = w;
            this.b = h;
 
        }*/
 
        public override void Draw(Graphics g)
        {
            Pen pen = new Pen(Color.Black);
 
            x += 10;
            g.DrawRectangle(pen, x, y, 40, 60);
            g.FillRectangle(Brushes.DarkGreen,x, y, 40, 60);
           
        }
        public override void Move(Point p)
        {
            
            this.position.X += p.X;
            this.position.Y += p.Y;
        }
 
    }
    class Triangle:Figrs
    {
        Point position = new Point(100, 20);
 
        public override void Draw(Graphics g)
        {
            Pen pen = new Pen(Color.Black);
            g.DrawLine(pen, position.X, position.Y, 100, 100);
            g.DrawLine(pen, 100, 100, 10,10);
            g.DrawLine(pen, 10, 10, position.X, position.Y);
            Point[] point = new Point[3];
            point[0].X = position.X;
            point[0].Y = position.Y;
            point[1].X = 100;
            point[1].Y = 100;
            point[2].X = 10;
            point[2].Y = 10;
            g.FillPolygon(Brushes.Yellow, point);
        }
        public override void Move(Point p)
        {
            x += 10;
           
            this.position.X += p.X;
            this.position.Y += p.Y;
        }
    }
    
}
Вот код)) и мне нужно рисунок который я нарисовал сохраннять на форме в отдельной главе)) и в 3 видах))
0
887 / 796 / 326
Регистрация: 03.02.2015
Сообщений: 5,116
Записей в блоге: 9
02.10.2017, 17:06 15
Лучший ответ Сообщение было отмечено kemka как решение

Решение

Сохраняйте figurs, например серелизуйте. https://msdn.microsoft.com/ru-... .110).aspx
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.10.2017, 17:06

Перемещение фигуры нарисованной DrawPolygon
Суть проблемы такая. Нужно по двойному клику нарисовать фигуру (в моем случае звезда красного цвета...

Определение курсора внутри нарисованной фигуры
Программа автоматически рисует правильный многоугольник с заданным кол-вом вершин. Цель,...

Как выполнить заливку нарисованной фигуры?
Создана программа - графический редактор. Допустим нарисован овал, как выполнить его заливку? С# ...

Как поменять размер нарисованной фигуры в PictureBox?
Как поменять размер нарисованной фигуры в picturebox на WinForms C#? Есть рисовалка, в ней мы...

Как сделать плавное перемещение нарисованной фигуры по форме?
Здравствуйте, у меня есть задача: Передвижение фигур. Вообщем выполняю её так: создаю стартовую...

Сохранение картинки, нарисованной на форме, в файл
В общем, есть задача - открыть картинку на форме, как-нибудь изменить ее и сохранить снова в файл,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.