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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Нарисовать линию по пикселям 
:(
    Опции темы
Georgich
Дата 30.1.2011, 00:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Приветствую.

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

              Bitmap DrawBeam(int width, int height)
              {
                  Bitmap beam = new Bitmap(width, height);
                  Random rand = new Random();
                  byte[] randVector = new byte[512];
                  int x = width / 2, y = width - 1;
       
                  rand.NextBytes(randVector);
       
                  for (int i = 0; i < height; i++)
                  {
                      int num = (int)randVector[i];
                      beam.SetPixel(x, y, Color.FromArgb(255, num, num, num));
                      y--;
                  }
                  return beam;
              }
       
              private void pictureBox1_Paint(object sender, PaintEventArgs e)
              {
                  pictureBox1.Image = DrawBeam(512, 512);
              }

Эта линия вертикальная и находится посередине PictureBox'а. Мне надо начать рисовать эти линии с отклонением от той линии, которая сейчас на -15 градусов и до +15 градусов. Таким образом рисовать их в диапазоне 30 градусов. При этом линии должны оставаться. А когда прорисуются все линии в этом диапазоне, то начать рисовать в обратную сторону. Никак не могу сообразить, как реализовать отклонение на определенные углы. Надеюсь на вашу помощь. Спасибо.
PM MAIL   Вверх
neutrino
Дата 30.1.2011, 11:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Gothic soul
****


Профиль
Группа: Модератор
Сообщений: 3041
Регистрация: 25.3.2002
Где: Верхняя Галилея, Кармиэль

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



Можно например умножать на матрицу поворота. У Graphics есть такая функциональность.


--------------------
The truth comes from within ...

Покойся с миром, Vit 
PM MAIL WWW ICQ Skype GTalk   Вверх
Georgich
Дата 30.1.2011, 11:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



neutrino, а можно поподробнее про матрицу поворота в Graphics.
Спасибо.
PM MAIL   Вверх
neutrino
Дата 30.1.2011, 17:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Gothic soul
****


Профиль
Группа: Модератор
Сообщений: 3041
Регистрация: 25.3.2002
Где: Верхняя Галилея, Кармиэль

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



Graphics.Transform
Ты можешь и сам считать через матрицу поворота. Я бы сам делал.


--------------------
The truth comes from within ...

Покойся с миром, Vit 
PM MAIL WWW ICQ Skype GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

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


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

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




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


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

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