Модераторы: gambit, Partizan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> picturebox и graphik. есть проблема. 
:(
    Опции темы
lankin
Дата 1.8.2007, 06:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 377
Регистрация: 13.12.2006

Репутация: нет
Всего: нет



В общем такое дело: оторажается график. B pictureBox.Image - просто картинка сетки графика. Сам грфик рисуется по точкам и далее рисуетсялиния их соединяющяя.

Код

foreach (DataRow dr in ds.Tables[0].Rows)
{
X1 = (int)dr["X1"];
                        X2 = (int)dr["X2"];
                        Y1 = (int)dr["Y1"];
                        Y2 = (int)dr["Y2"];
                        Bitmap bm = new Bitmap(pictureBoxGraphik.Image);
                        bm.SetPixel(X1, Y1, Color.Red);
                        bm.SetPixel(X1, Y1, Color.Red);
                        p1 = new Point(X1, Y1);
                        p2 = new Point(X2, Y2);
                        Graphic g1 = pictureBoxGraphik.CreateGraphics();
                        g1.DrawLine(new Pen(Color.Red), p1, p2);
                        pictureBoxGraphik.Image = (Image)bm; 
}

В итоге все хорошо, но тока линия, соединяющая соседние точки - каждый раз перерисовывается, т.е. у меня каждый раз только одна линия между 2-мя точками (потом между следующими двумя и т.д.). А мне нужно, чтобы рисовался график от полностью. 
Вопрос: каким образом можно моединить эту линию с Image, или невозможно?
Как я понял это разные вещи - Image и объект Graphic и линия рисуется не в Bitmap а как бы в отдельном слое чтоли...

Это сообщение отредактировал(а) lankin - 1.8.2007, 06:38
PM MAIL   Вверх
Naum
Дата 1.8.2007, 08:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 743
Регистрация: 7.9.2005
Где: Саратов, ул. Поса дского, 298

Репутация: 1
Всего: 15



Цитата(lankin @  1.8.2007,  07:36 Найти цитируемый пост)
Bitmap bm = new Bitmap(pictureBoxGraphik.Image);

Ты же каждый раз создаешь новый битмап. Вынеси эти строки из цикла.
Цитата(lankin @  1.8.2007,  07:36 Найти цитируемый пост)
Graphic g1 = pictureBoxGraphik.CreateGraphics();

Вместо этого должно быть что-то типа
Код

Graphics g1 = Graphics.FromImage(bm);




--------------------
У нас всего два праздника Новый год и ТЯПница.
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка Windows Forms | Следующая тема »


 




[ Время генерации скрипта: 0.0496 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.