Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
47 / 47 / 15
Регистрация: 09.03.2011
Сообщений: 584
1

Записать массив пикселей в файл

15.03.2013, 22:43. Показов 1987. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Уважвемое сообщество не могу домучать простейшую програмку,в двух словах:
создаю структуру:\
C++
1
2
3
4
5
6
7
8
struct res
{
      int height;
      int width;
      int xop;
      int yop;
      int pixel[786432]; //1024*768
};
заполняю:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
res bon;
    bon.height=vis;
    bon.width=shir;
    bon.xop=xop;
    bon.yop=yop;
    for(int x=0;x<shir;x++)
      {
      for(int y=0;y<vis;y++)
       {
       int i=x*y;
      bon.pixel[i] =Image1->Picture->Bitmap->Canvas->Pixels[x][y];
       }
      }
сохраняю:
C++
1
2
3
4
ofstream file;
    file.open("res.ij",std::ios::binary);
    file.write((char*)&bon,sizeof(bon));
    file.close();
открываю файл а в массиве какая-то ерись,ну не моё изображение точно:
16777215
16777215
16777215
16777215
16777215
16777215
16777215
16777215
16777215
0
0
16777215
16777215
16777215 и т.д. чёрно белая ерись.
где собчка всё таки порылась?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.03.2013, 22:43
Ответы с готовыми решениями:

Записать 2мерный массив в файл
желательно самым простым способом... подскажите как?

Записать массив структур в файл
Всем привет, давно не садился за клавиатуру, захотелось вспомнить. В простенькой програмке есть...

Упорядочить массив и записать в файл
День добрый! Стоит такая задача:необходимо написать прогу, чтобы открывала .txt, в котором записаны...

Записать массив структур в типизированный файл
В общем нужно записать массив структур в типизированный файл, ну и потом соответсвенно достать тот...

3
return (true);
1976 / 1111 / 221
Регистрация: 19.04.2011
Сообщений: 2,345
15.03.2013, 23:00 2
Цитата Сообщение от ijonhson Посмотреть сообщение
int i=x*y;
При первом проходе 0*любое_число = 0

Добавлено через 1 минуту
C++
1
int i=x*vis+y; // скорее всего
1
47 / 47 / 15
Регистрация: 09.03.2011
Сообщений: 584
16.03.2013, 01:19  [ТС] 3
спасибо первую строку я точно прохлопал но дальше тоже самое я вывел значения массива в memo,такое впечатление что конвертирование TColor в int даёт непредсказуемый результат

Добавлено через 1 минуту
вернее черезчур предсказуемый либо 16777215(чёрный),либо 0

Добавлено через 1 час 10 минут
фух причину нашёл,объяснить не могу только догадки,дело было в trancparence=true, если выставить прозрачность у image и загрузить туда битмап затем попытаться сохранить попиксельно,цвета или прозрачный цвет будет другим буду рыть в этом направлении всем спасибо
0
47 / 47 / 15
Регистрация: 09.03.2011
Сообщений: 584
18.03.2013, 10:30  [ТС] 4
обратная проблема как вывести в изображение сохранённый битмап из массива цветов делаю так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
    int mas[786432];
    ifstream file1;
    file1.open("D:\\ij\\rb1.ij",std::ios::in|std::ios::binary);
    file1.read((char*)&mas,sizeof(mas));
     int i=2;
    for(int x=0;x<mas[0];x++)
     {
       for(int y;y<mas[1];y++)
       {
        Image1->Picture->Bitmap->Canvas->Pixels[x][y]=(TColor)mas[i];
        i++;
       }
     }
     Image1->Picture->Bitmap=bit1;
     Image1->Repaint();
всё компилируется на экране форма без image
0
18.03.2013, 10:30
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.03.2013, 10:30
Помогаю со студенческими работами здесь

Записать в файл двумерный целочисленный массив через TStringList
Вот это считывание с файла двумерного массива, скажите пожалуйста как таким же способом записать в...

BMP, получить массив пикселей
Добрый день. Пишу дипломную работу, требуется помощь с программой. У меня есть изображение bmp. Мне...

Массив пикселей RGB в JPEG
Всем доброго времени суток! Пишу программу под МК на С/С++. На входе имею массив пикселей в...

Дан файл с текстом. Записать в файл a0.txt слова, которые содержат цифру 0
от дано такое задание -Дан файл с текстом. Записать в файл a0.txt слова, которые содержат цифру 0,...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru