Нарисовать точку на picturebox

Re[5]: Графика на C#

От: muse Россия   Дата:  30.09.07 12:12 Оценка: +1 Здравствуйте, jenyavb, Вы писали:
J>Точнее так:
J> J>SomeDisposableObject obj = new SomeDisposableObject(); J>try J>{ J> //Some action J>} J>finally J>{ J> obj.Dispose(); J>} J>
Если уж быть совсем точным то так:
SomeDisposableObject obj = new SomeDisposableObject(); try { //Some action } finally { if (obj != null) obj.Dispose(); }

Люблю повеселиться, особенно пожрать

Графика на C#

От: _z   Дата:  29.09.07 12:53 Оценка: Добрый День.
Вопрос следующий: каким образом можно нарисовать на форме 1 точку (пиксел). Поискал в msdn, стандартных методов не нашел.
Например в Delphi можно сделать так Canvas.Pixels[x,y]:=clred. Есть ли аналог этому в C# ?

29.09.07 19:06: Перенесено модератором из 'Мультимедиа, графика, звук' — Хитрик Денис

Re: Графика на C#

От: Niemand   Дата:  29.09.07 14:52 Оценка: Здравствуйте, _z, Вы писали:
насколько я понимаю GDI+ "отошел" от понятий дискретности точек и сейчас "дружит" с флоатами, потому я не уверен в правомерности такой операции.
вот такое покатило. некрасиво, зато быстро и работает. Тот же фокус можно сделать с элипсом или линией.
g.DrawRectangle(Pens.Black, 5.0f, 5.0f, 0.5f, 0.5f);
p.s. не бейте сильно если есть рецепт получше.

Re: Графика на C#

Здравствуйте, _z, Вы писали:
_z>Вопрос следующий: каким образом можно нарисовать на форме 1 точку (пиксел). Поискал в msdn, стандартных методов не нашел.
_z>Например в Delphi можно сделать так Canvas.Pixels[x,y]:=clred. Есть ли аналог этому в C# ?
Смотря, для чего вам нужно точку нарисовать. Например, если надо график какой изобразить, то я бы действовал так:
Сначала на форму нужно бросить контрол PictureBox ( PictureBox pictureBox1; ).
Дальше создаём битмап с нужным рисунком:
Bitmap bmp = new Bitmap(100, 100); bmp.SetPixel(20, 30, Color.Black); // это один пиксел // рисуем что-то посложнее using (Graphics g = new Graphics(bmp)) { Pen blackPen = new Pen(Color.Black, 3); e.Graphics.DrawLine(blackPen, 2, 2, 50, 70); } // показываем пользователю pictureBox1.Image = bmp;

Правила нашего с вами форума.
Как правильно задавать вопросы. © 2001 by Eric S. Raymond; перевод: © 2002 Валерий Кравчук.

Re[2]: Графика на C#

От: Аноним   Дата:  29.09.07 16:08 Оценка:

Здравствуйте, Хитрик Денис, Вы писали:
ХД>// рисуем что-то посложнее
ХД>using (Graphics g = new Graphics(bmp))
ХД>{
ХД> Pen blackPen = new Pen(Color.Black, 3);
ХД> e.Graphics.DrawLine(blackPen, 2, 2, 50, 70);
ХД>}
ХД>// показываем пользователю
ХД>pictureBox1.Image = bmp;
ХД>[/c#]
using — это замена блокам try cftch?

Re[3]: Графика на C#

От: muse Россия   Дата:  29.09.07 20:58 Оценка: Здравствуйте, Аноним, Вы писали:
А>using — это замена блокам try cftch?
Как пишет нам MSDN:
The using keyword has two major uses:
As a directive, when it is used to create an alias for a namespace or to import types defined in other namespaces.
As a statement, when it defines a scope at the end of which an object will be disposed.
Нам нужен второй вариант использования. Т.е. эти варианты кода эквиваленты:
SomeDisposableObject obj = new SomeDisposableObject(); // Some action obj.Dispose();
using (SomeDisposableObject obj = new SomeDisposableObject()) { // Some action }
И рисование в битмап, а потом вставка в Picturebox не лушее решение. Лучше для графиков создать отдельный контрол, все равно работу придется проделать одинаковую, за исключением того, что не придется использовать лишние ресурсы системы заваливая ее кучей картинок.
Вот отличный пример: http://www.codeproject.com/cs/miscctrl/ChartControl.asp
Первый товарищ правильно заметил на счет рисования единственного пикселя — DrawRectangle единственный выход, по крайней мере, я бы им не пользовался, если бы знал другой

Люблю повеселиться, особенно пожрать

Re[4]: Графика на C#

От: jenyavb   Дата:  30.09.07 05:17 Оценка: Здравствуйте, muse, Вы писали:
M>Нам нужен второй вариант использования. Т.е. эти варианты кода эквиваленты:
M> M>SomeDisposableObject obj = new SomeDisposableObject(); M>// Some action M>obj.Dispose(); M>
Точнее так:
SomeDisposableObject obj = new SomeDisposableObject(); try { //Some action } finally { obj.Dispose(); }

... << RSDN@Home 1.2.0 alpha rev. 772>>

Подождите ...Wait...

Пока на собственное сообщение не было ответов, его можно удалить.

Заголовок:


Источник: http://rsdn.org/forum/dotnet.gui/2674830.hot



Рекомендуем посмотреть ещё:


Закрыть ... [X]

Как нарисовать точку на pictureBox? - C# Windows Forms - Киберфорум Встроенная кровать с диваном своими руками

Нарисовать точку на picturebox Нарисовать точку на picturebox Нарисовать точку на picturebox Нарисовать точку на picturebox Нарисовать точку на picturebox Нарисовать точку на picturebox Нарисовать точку на picturebox

ШОКИРУЮЩИЕ НОВОСТИ