Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
15 / 16 / 1
Регистрация: 13.12.2009
Сообщений: 138
Записей в блоге: 1
1

Одномерный массив, заполнение по нужным индексам

07.11.2012, 10:49. Показов 597. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Есть картинка размер 2х2, тоисть колво пиксилей = 4
один пиксель - 4 байта
в итоге width*height*4 = 16, имеется одномерный масив на 16 байт в котором содержится 4 цвета етой картинки
хочу сделать точно такуюже картинку, только больше в 2 раза, ето означает что вместо 1-го пикселя - будет 4
новый массив будет иметь размер в width*2*height*2*4 = 64 байта
Проблема заключается в том что не получается правильно скопировать эти цвета в новый массив так, чтобы при разном размере картинки - правильно копировало цвета
на картинке показано как должны цвета копироватся в новую (большую) картинку и в каком порядке они идут
http://postimage.org/image/lleg79eiv/

mas[16] имеет 4 цвета, нужно скопировать правильно ети цвета в newMas[64] // width*2*height*2*4
ниже приведен код которые копирует цвета в mas[16]
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
    int width = 2;
    int height = 2;
    int bytesPerRow = width * 4;
    
    const int bitmapByteCount = bytesPerRow * height;
    int mas[bitmapByteCount];
 
    for (int i = 0; i < bitmapByteCount; i +=4)
    {
        UInt8 a = data[i];
        UInt8 r = data[i + 1];
        UInt8 g = data[i + 2];
        UInt8 b = data[i + 3];
      
        mas[i]   = a;
        mas[i+1] = r;
        mas[i+2] = g;
        mas[i+3] = b;        
        
    }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.11.2012, 10:49
Ответы с готовыми решениями:

Одномерный массив. Заполнение, сдвиг
Добрый день, дали задание - заполнить массив из 20 элементов случайными числами от 0 до 100...

Отсортировать массив по индексам элементов
Нужно написать программу в которой задан двумерный массив в котором одна строчка это числа, а...

Одномерный массив. Найти среднее арифметическое элементов, равных своим индексам
1)дан одномерный массив целых чисел.найти и вывести на экран среднее арифметическое элементов этого...

Одномерный массив. Заполнение по правилу.
Напишите программу, с помощью которого первые k элементов массива A, k,N, заполняются...

3
178 / 161 / 38
Регистрация: 08.10.2012
Сообщений: 423
07.11.2012, 11:54 2
для работы с цветами я обычно использую такую структуру
C++
1
2
3
4
5
struct pixel{
    unsigned char RR;
    unsigned char GG;
    unsigned char BB;
}
Добавлено через 1 минуту
у вас будет матрица 2х2 пикселя, если нужно увеличивайте сколько хотите
0
15 / 16 / 1
Регистрация: 13.12.2009
Сообщений: 138
Записей в блоге: 1
07.11.2012, 16:33  [ТС] 3
я пишу на другом языке программирования, так что это сейчас неважно, не получается правильно забить пиксели в нужные индекса в новый массив

Добавлено через 1 минуту
и кстати, там UInt8 - ето typedef unsigned char UInt8;
0
15 / 16 / 1
Регистрация: 13.12.2009
Сообщений: 138
Записей в блоге: 1
08.11.2012, 20:17  [ТС] 4
может ктото накидает алгоритм? у меня пока что ступор над этим
есть mas[16]
mas[0] - красный
mas[4] - зеленый
mas[8] - синий
mas[12] - желтый

нужно mas[64]
по ссылке на картинке показано как должны забиваться цвета в массив, нужно учесть что размер картинки может быть разным

http://postimage.org/image/lleg79eiv/
0
08.11.2012, 20:17
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.11.2012, 20:17
Помогаю со студенческими работами здесь

Одномерный массив(заполнение через random)TB
Одноменрный массив a размероностью n=20 заполнить случайными целыми числами из отрезка c помощью...

Одномерный массив. Заполнение произвольными значениями из отрезка.
Заполнить массив из восьми элементов случайным образом целыми значениями, лежащими в диапазоне ....

Массив не выводит по индексам
Здравствуйте. Подскажите пожалуйста.не разберусь с этим. Выводятся только данные соответствующие...

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


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

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