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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Скриншот экрана http://www.cyberforum.ru/cpp-beginners/thread690796.html
Всем привет как в visual studio мне сделать скриншот экрана, а потом смотреть цвет пикселей в указанных координатах на фотографии? Или как сразу же с экрана получить цвет пикселя? Добавлено через...
C++ Из потока вместо кириллицы вводится что попало setlocale( LC_ALL,"" ); std::cout<<"Введите строку: "; Log.open("log.txt"); getline(std::cin, s); std::cout<<"."<<std::endl<<Введённая строка: "<<s<<std::end; После "Введённая строка: " выводятся... http://www.cyberforum.ru/cpp-beginners/thread690789.html
Вычислить Минимальный элемент массива, сумму элементов между первым и последним положительными элементами C++
В одномерном массиве, состоящем из N действительных элементов, вычислить: 1) Минимальный элемент массива. 2) Сумму элементов массива, расположенных между первым и последним положительными...
std::string и кириллические коды C++
дана строка std::string s;, в ней кириллические символы, надо найти порядковые номера этих символов, согласно алфавиту. Для латиницы c=s; if ((c>='a')&&(c<='z')) { code=((size_t ) c)-((size_t )...
C++ Использование массивов http://www.cyberforum.ru/cpp-beginners/thread690758.html
Помогите, пожалуйста. Определить, сколько элементов матрицы в рядках с четными номерами превышают отношение максимального элемента к минимальному. С++
C++ Программа на языке С++ в среде Visual Studio 2010 Здравствуйте.Помогите пожалуйста с задачей. #include "stdafx.h" #include <iostream> #include <conio.h> using std::cout; using std::endl; using std::cin; int _tmain(int argc, _TCHAR* argv) { подробнее

Показать сообщение отдельно
xdozorx
15 / 16 / 1
Регистрация: 13.12.2009
Сообщений: 138
Записей в блоге: 1

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

07.11.2012, 10:49. Просмотров 321. Ответов 3
Метки (Все метки)

Есть картинка размер 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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru