| « Поставить закладку » « Сделать стартовой » | |||
|
|||
|
Создание компонента отрисовки графиков в .NET
Во время постижения магии в Дмитровском отделении универсетета "Дубна"
возникла проблема выведения результатов шаманства в виде двухмерных графиков,
типа Х->У. Шаманы классической закалки, кастующие с помощью магиеских жезлов
Delphi и CBuilder, не парились этой проблемой, так как у них в арсенале
имелись готовые ингридеенты для диаграмм и графиков. А мне, как шаману,
отчаянно индульгирующему под новый вид магии, такй как .NET пришлось
несколько озадачиться и начать плясать с бубном вокруг
электронно-вычеслительной машины. Первые ритуалы класса "Umba-Mara-Umba"
были, соответственно направленны в сторону web-астрала, в наше время
называемого "всемирной паутиной". Обративщись к верховному духу Гуголию с
вопросом: "Chart for .NET", он предоставил мне великое множество путей для
поиска истинны. Некоторые, вернее почти все из этих путей преглагали познать
истину как минимум за 295 убитых енотов, что для шамана низшего уровня было
не преемлемо. Далее последовали ритуалы класса "Ratamahatata". Для
выполнения этого ритуала мне потребовалось индулгировать свой разум,
обратившись к первоисточникам, таким как Великие Манускрипты MSDN, а также
расширить сознание волшебными травами.
Шаманам, вставшим на путь постижения магии .NET, я поделюсь экспириенсом
составления зелия "2D графики как в Диспечере Задач", указав на ингридеенты
зелия:
//
// бросаем на форму PictureBox и Button
//
private void DrawGrid(Graphics g)
{
g.Clear(Color.Black);
using (Pen pen = new Pen(Color.Green, 1))
{
for (int i = 0; i < pictureBox1.Width; i++)
{
if (0 == (i % 12))
{
g.DrawLine(pen, i, 0, i, pictureBox1.Height);
}
}
for (int i = 0; i < pictureBox1.Height; i++)
{
if (0 == (i % 12))
{
g.DrawLine(pen, 0, i, pictureBox1.Width, i);
}
}
}
}
private void button1_Click(object sender, EventArgs e)
{
Bitmap bitmap = new Bitmap(pictureBox1.Width, pictureBox1.Height);
Graphics g = Graphics.FromImage(bitmap);
Pen pen = new Pen(Color.Lime, 1);
DrawGrid(g);
Random rnd = new Random();
pen.Color = Color.Lime;
int[] values = new int[pictureBox1.Width];
for (int i = 1; i < pictureBox1.Width; i++)
{
values[i] = rnd.Next(0, pictureBox1.Height - 10);
g.DrawLine(pen, i - 1, values[i - 1], i, values[i]);
}
Graphics realG = pictureBox1.CreateGraphics();
realG.DrawImage(bitmap, 0, 0); //Двигаем
for (int i = 0; i < pictureBox1.Width; i++)
{
Array.Copy(values, 1, values, 0, values.Length - 1);
values[values.Length - 1] = rnd.Next(0, pictureBox1.Height - 10);
DrawGrid(g);
for (int j = 1; j < pictureBox1.Width; j++)
{
g.DrawLine(pen, j - 1, values[j - 1], j, values[j]);
}
realG.DrawImage(bitmap, 0, 0);
System.Threading.Thread.Sleep(10);
}
}
Это очень слабое зелье и нуждаеться в продумывании и дорботке. Буду
презнателен, если Вы вышлете варианты своих доработанных зелий мне. Искренне
ваш, Шаман 1-ого уровня Pepesto [pepesto[at]dmuni-dubna[dot]ru].
Источник: http://www.dmuni-dubna.ru/ Рубрика: .NET компоненты
Подгрузка через AJAX HTML-кода, содержащег....
При разработке CMS S.Builder наша команда активно использовала AJAX. Теперь вот решили поделиться накопленным опытом. Начнем с этого хабратопика. Не буду здесь затрагивать различные фреймворки и библиотеки. Свой код всегда роднее. Для работы с AJAX-ом в S.Builder написана библиотека sbAJAX. Можете качать и пользоваться :). В этом файле есть функция sbEvalJS. Для тех, кто не знает, объясню. При подгрузке через AJAX и вставке на страницу HTML-кода, содержащего JavaScript, JavaScript выполняться не будет или полезут баги. Эта функция как раз решает поставленную задачу.
Подробнее... |
Рубрика: AJAX
| Добавлено: 19.11.2008
Обзор нового релиза самой мощной Ajax библ....
Хотя наш обзор немного запоздал, оригинальный Dojo 1.2 вышел в релизной версии ещё 6-го октября, но сейчас мы наверстаем упущенное. И так, Dojo Toolkit — это самая мощная и гибкая ajax-библиотека из всех, что есть на рынке, она активно развивается и имеет большое комьюнити. Кстати, это самое комьюнити, совместно с компанией Sitepen, имеет ещё несколько проектов, среди которых и Cometd и некоторые другие, не менее интересные, о которых мы скоро вам расскажем. Сегодня же все внимание на флагманский продукт — Dojo 1.2.
Подробнее... |
Рубрика: AJAX
| Добавлено: 19.11.2008
Firebug 1.3 и 1.4 alpha — что нового и инт....
Если вы профессиональный веб-разработчик и постоянно имеете дело с разработкой и отладкой сложных AJAX приложений, то наверняка знаете и используете Firebug — плагин для браузера Firefox, предназначенный для отладки и исследования веб-приложений. Текущая его версия, 1.2х достаточно стабильная и функциональна, чтобы помочь в 99% проблем, которые могут возникнуть при разработке. Но и этот инструмент не лишён если не недостатков, то некоторых фич, которые могли бы облегчить работу. И даже идеальный инструмент можно сделать ещё более идеальным, как бы это не звучало.
Подробнее... |
Рубрика: Вебмастеру
| Добавлено: 19.11.2008
Остальные статьи: |
Цитата дня (все,добавить):
|
Realcoding.NET
© 2003-2008 |
Контакты |
Реклама на сайте
|