Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
338 / 284 / 62
Регистрация: 02.09.2010
Сообщений: 547
1

Проблема с рисованием

01.11.2011, 10:14. Просмотров 874. Ответов 11
Метки нет (Все метки)


Почему то на форме нет рисунка. Подскажите что не так.

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
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 Pictures
{
 
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            this.BackColor = Color.White;
 
        }
        private void Drawin()
        {
            Graphics g = this.CreateGraphics();
            Pen redPen = new Pen(Color.Red, 3);
            g.DrawEllipse(redPen, 150, 100, 100, 60);
            g.DrawLine(redPen, 140, 170, 140, 230);
        }
        private void button1_Click(object sender, EventArgs e)
        {
            Drawin();
        }
 
    }
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.11.2011, 10:14
Ответы с готовыми решениями:

Проблема с рисованием.
Здравствуйте. Немного предыстории: пару недель назад я решил начать изучать с#, чтобы можно было...

Проблема с рисованием на PictureBox с увеличением
Делаю графический редактор на подобии Paint.net ломаю голову не 1 ин год уже и вот надеюсь получю...

Проблема с рисованием прозрачных текстур в OpenGL
Сначала объявил все параметры: glEnable(GL_DEPTH_TEST); glDepthFunc(GL_LEQUAL); ...

что то не то с рисованием(
Здравствуйте, появился такой вопрос. То есть его не было до того момента пока я не выложил...

11
Заблокирован
01.11.2011, 10:35 2
он не говорил, что Main() не хватает?
C#
1
2
3
4
5
        [STAThread]
        static void Main()
        {
            Application.Run(new Form1());
        }
1
183 / 186 / 17
Регистрация: 26.11.2010
Сообщений: 511
01.11.2011, 11:23 3
Пробовали Invalidate или. Update
1
74 / 74 / 32
Регистрация: 06.02.2011
Сообщений: 127
01.11.2011, 11:55 4
Возможно у вас на форме TableLayoutPanel(или что либо еще) находиться , и просто панель перекрывает ваш рисунок)
1
338 / 284 / 62
Регистрация: 02.09.2010
Сообщений: 547
01.11.2011, 12:43  [ТС] 5
На майн не ругался.
0
40 / 21 / 8
Регистрация: 12.03.2011
Сообщений: 145
02.11.2011, 21:26 6
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 public Form1()
        {
            InitializeComponent();
            this.BackColor = Color.White;
        }
        private void Drawin(Graphics g)
        {
            Pen redpen = new Pen(Color.Red, 3);
            g.DrawEllipse(redpen,150,100,100,60);
            g.DrawLine(redpen, 140,170,140,230);
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            Graphics g = this.CreateGraphics();
            Drawin(g);
        }
Добавлено через 1 минуту
хотя по твоему также рисует...
0
183 / 186 / 17
Регистрация: 26.11.2010
Сообщений: 511
02.11.2011, 21:37 7
Цитата Сообщение от WarExpert Посмотреть сообщение
C#
1
            Graphics g = this.CreateGraphics();
За такое надо по рукам линейкой бить.
Нельзя! Нельзя! Плохо! Не надо так делать!
Медленно!
0
40 / 21 / 8
Регистрация: 12.03.2011
Сообщений: 145
04.11.2011, 16:57 8
Killster, а как быстрее?
0
183 / 186 / 17
Регистрация: 26.11.2010
Сообщений: 511
04.11.2011, 17:06 9
Цитата Сообщение от WarExpert Посмотреть сообщение
Killster, а как быстрее?
Использовать PictureBox и оперировать с его Image.
0
Заблокирован
04.11.2011, 19:40 10
Цитата Сообщение от Killster Посмотреть сообщение
За такое надо по рукам линейкой бить.
не, за такое нужно подсказать как правильнее
Цитата Сообщение от Killster Посмотреть сообщение
Использовать PictureBox и оперировать с его Image.
зачем?

я бы, к примеру, так писАл бы:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
        Program()
        {
            InitializeComponent();
            this.DoubleBuffered = true;//это если медленно было или на всякий случай
            this.Paint += new PaintEventHandler(Program_Paint);
        }
 
        void Program_Paint(object sender, PaintEventArgs e)
        {
            Pen redpen = new Pen(Color.Red, 3);
            e.Graphics.DrawEllipse(redpen, 150, 100, 100, 60);
            e.Graphics.DrawLine(redpen, 140, 170, 140, 230);
        }
1
183 / 186 / 17
Регистрация: 26.11.2010
Сообщений: 511
04.11.2011, 19:46 11
Цитата Сообщение от Dzhej-Dzhej Посмотреть сообщение
я бы, к примеру, так писАл бы:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
        Program()
        {
            InitializeComponent();
            this.DoubleBuffered = true;//это если медленно было или на всякий случай
            this.Paint += new PaintEventHandler(Program_Paint);
        }
 
        void Program_Paint(object sender, PaintEventArgs e)
        {
            Pen redpen = new Pen(Color.Red, 3);
            e.Graphics.DrawEllipse(redpen, 150, 100, 100, 60);
            e.Graphics.DrawLine(redpen, 140, 170, 140, 230);
        }
А если потребуется что посложнее нарисовать?
0
Заблокирован
04.11.2011, 20:03 12
рисовал бы в памяти на битмапе, а потом DrawImage в OnPaint
или по таймеру менял бы переменные прорисовки и Invalidate(); или даже Invalidate(new Rectangle(...));
или что-то другое

смотря какой результат нужен.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.11.2011, 20:03

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Трудности с рисованием в Canvas
Рисую в Canvas`e квадрат и все вроде бы нормально, но когда я его перетаскиваю или начинаю вертеть...

Пoмогите разобраться с рисованием.
Помогите пожалуйста разобраться... Имею такой код: #include <windows.h> #include "windowsx.h"...

Непонятно с рисованием GDI
Рисую матрицу 8х8 в окне. В порядке, обратном шахматному (сменить местами белые и черные диагонали)...

Помогите с линией (точками) с рисованием вообще!
Привет. Вообщем народ может кто знает где найти инфу по работе с графикой в Дельфине. По типу того...


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

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

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