Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.12.2015, 16:18   #1
Spiderman23
Новичок
Джуниор
 
Регистрация: 16.12.2015
Сообщений: 2
По умолчанию Создать изображение из массива точек

Всем привет. Стоит задача преобразовать массив чисел short в изображение на с++

Нашел тут, что нужно действовать так:

Form1 -> Canvas -> Pixels[i][j] = TColor(0x00242424 * arr[i][j]);

(если бы цветов было 7) и соотв. 0x00010101 если цветов 255. У меня цветов значительно больше в изображении. (значения могут быть от 0 до 4000)

Как правильно тогда организовать этот код?
пытался так
Image1->Canvas->Pixels[i][j] = TColor(0x00010101 * Arr[i][j]/4000);
и так
Image1->Canvas->Pixels[i][j] = TColor(0x00010101 * Arr[i][j]/4000*255);

Изображение получается не таким, как надо.
Помогите
Spiderman23 вне форума Ответить с цитированием
Старый 16.12.2015, 16:31   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
значения могут быть от 0 до 4000
Тогда какой же может быть short?
Откуда ты этот массив взял?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 16.12.2015, 16:34   #3
Spiderman23
Новичок
Джуниор
 
Регистрация: 16.12.2015
Сообщений: 2
По умолчанию

short **Arr = new short* [7926]; // 7926 строк в массиве
for (int i = 0; i < 7926; i++) {
Arr[i]=new short [12000]; // и 12000 столбцов
}

вот так я его описал. Потом открыл файл (который картинка, но в специфическом формате) и почитал от туда. Short не правильно в данном случае использовать?

ну так что?(
вопрос 2. Как мне просмотреть, что считалось в массив?

Последний раз редактировалось Stilet; 16.12.2015 в 18:15.
Spiderman23 вне форума Ответить с цитированием
Старый 16.12.2015, 17:49   #4
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,760
По умолчанию

Поставить точку останова и просмотреть или сдампить в файл сразу после прочтения.
p51x вне форума Ответить с цитированием
Старый 16.12.2015, 18:17   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Short не правильно в данном случае использовать?
Неа. RGB это три байта. Значит тебе подойдет int. Или точнее сам TColor
Только я не оч. понимаю, что ты там такое разрабатываешь, что тебе не подошнли классы Билдера для работы с картинками. Шифруешь фотки Памелы Андерсон? )
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
отрисовка массива точек 3JIou_geg C# (си шарп) 4 29.03.2015 21:43
Создать файл, содержащий координаты точек в двумерном пространстве . На Си ganster Помощь студентам 4 03.07.2012 13:26
Создать файл, содержащий координаты точек в двумерном пространстве. На Си ganster Общие вопросы C/C++ 2 03.07.2012 11:55
Задаnm n точек. Найти m=3,4... точек и построить на них m-угольник: количество точек , лежащих внутри и вне его мин. различается L.Rain Помощь студентам 0 11.12.2011 22:19
Создать изображение из массива точек levandowskiy C++ Builder 1 21.04.2010 23:32