Форум программистов, компьютерный форум CyberForum.ru

Попиксельная отрисовка массива ? - C++

Восстановить пароль Регистрация
 
IonDuck
0 / 0 / 0
Регистрация: 24.04.2012
Сообщений: 52
24.04.2012, 01:47     Попиксельная отрисовка массива ? #1
Здраствуйте.
Задача такова.
Необходимо взять двумерный массив из файла, элементы массива принимают значение от 0 до 255, затем необходимо "нарисовать" этот массив, т.е. каждому значению элемента массива будет соответствовать пиксел, а значение элемента массива будет определять цвет пикселя, градация серого.
необходимо все сделать с использованием класса.
учусь работать в Visual c++

1) Как некоему числу int n - задать число, равное количеству строк в txt файле, а числу int m число столбцов? (желательно с прописыванием пути к вайлу, или хотя б скажите в какую папку его кидать)

2) создание дин массива
Ответ нашел на форуме в теме "Создать класс матрицы"
т.е. тут вроде как понятно

3) рисование допустим у меня массив из 100*100 элементов. Все элементы кроме эл-тов главной диагонали равны 0, эл-ты главной диагонали равны 255. Как мне нарисовать линию по этим координатам? Линию нужно рисовать поиксельно. т.е. смысл в том, чтобы отрисовать 10000 пикселей.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.04.2012, 01:47     Попиксельная отрисовка массива ?
Посмотрите здесь:

C++ Отрисовка линии
[open gl] отрисовка тангенса C++
Плавная отрисовка перемещения изображения C++
C++ sdl отрисовка поля
C++ GDI отрисовка и очистка
C++ Создать два массива. Вычислить количество тех элементов каждого массива, для которых выполняется неравенство: 2<элемент массива<10
C++ Наследование двух классов от базового. Отрисовка двух шариков, движущихся по синусоиде и косинусоиде
Игра пинг-понг: отрисовка происходит там, где не должна C++
Отрисовка движения шарика по кривой C++
C++ Простейшая графика в C++: системы координат, отрисовка примитивов
Отрисовка за определённое время C++
Неправильная отрисовка текстур в OpenGL C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Avazart
Нарушитель
6954 / 5192 / 256
Регистрация: 10.12.2010
Сообщений: 22,768
Записей в блоге: 17
24.04.2012, 03:18     Попиксельная отрисовка массива ? #2
Линии можно рисовать ф-циями
C++
1
2
MoveToEx( );
LineTo( );
Пиксели
C++
1
SetPixel();
Но это медленно...
Добавлено через 8 минут
http://vsokovikov.narod.ru/New_MSDN_...tstodevice.htm
zss
Модератор
Эксперт С++
 Аватар для zss
6055 / 5658 / 1828
Регистрация: 18.12.2011
Сообщений: 14,451
Завершенные тесты: 1
24.04.2012, 09:03     Попиксельная отрисовка массива ? #3
Подсчет количества строк:
C++
1
2
3
4
5
6
7
8
char s[1000];
int n=-1;
FILE* fin=fopen("file.txt","rt");
do
{
   fgets(s,999,fin);
   n++;
}while(!feof(fin));
IonDuck
0 / 0 / 0
Регистрация: 24.04.2012
Сообщений: 52
24.04.2012, 18:50  [ТС]     Попиксельная отрисовка массива ? #4
Спасибо, большое.
Еще 1 вопрос:
1) Номер элемента двумерного массива определяет координаты пикселя на PictureBox'e а значение этого элемента, принимающее значение от 0 до 255, определяет оттенок серого цвета. 0-черный, 255-белый, а между ними серые оттенки.
Как это реализовать?
zss
Модератор
Эксперт С++
 Аватар для zss
6055 / 5658 / 1828
Регистрация: 18.12.2011
Сообщений: 14,451
Завершенные тесты: 1
25.04.2012, 16:51     Попиксельная отрисовка массива ? #5
Цитата Сообщение от IonDuck Посмотреть сообщение
Номер элемента двумерного массива определяет координаты пикселя на PictureBox'e а значение этого элемента, принимающее значение от 0 до 255, определяет оттенок серого цвета. 0-черный, 255-белый, а между ними серые оттенки.
Как это реализовать?
C++
1
SetPixel(hdc,x,y,RGB(c,c,c));
x,y - координаты пикселя, с - яркость
IonDuck
0 / 0 / 0
Регистрация: 24.04.2012
Сообщений: 52
26.04.2012, 14:48  [ТС]     Попиксельная отрисовка массива ? #6
а если я использовал
C++
1
Graphics^ g = pictureBox1->CreateGraphics();
???
в Graphics же нету метода SetPixel
Yandex
Объявления
26.04.2012, 14:48     Попиксельная отрисовка массива ?
Ответ Создать тему
Опции темы

Текущее время: 21:27. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru