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

Картинка в виде двумерного массива пикселей - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ как исправить повреждением кучи http://www.cyberforum.ru/cpp-beginners/thread635204.html
Всем привет. Имеется такой кусок кода, который читает в условном формате дату из реестра и сохраняет её в структуру, где есть SYSTEMTIME: TCHAR * timeT=new TCHAR;//главные виновники, из-за низ вылетает в конце кода программа TCHAR * TempTimeT=new TCHAR; len=MAX_PATH; ZeroMemory(NUMBER, 15);//очищаем и создаем имя, по которому обратимся в реестр ZeroMemory(Name, 20);...
C++ Сканирование экрана Здравствуйте, нужна помощь новичку по winapi. Нужно сделать сканирование выбранной области экрана и запись результата в двумерный массив, где каждая ячейка это цвет в RGB. Делал через GetPixel, но это ужасно медленно. Читал про BitBlt но, к сожалению, не понял, как потом его в RGB переводить. Помогите пожалуйста, желательно с примером кодом. Спасибо. Добавлено через 1 час 3 минуты Уточню.... http://www.cyberforum.ru/cpp-beginners/thread635196.html
Площадь многоугольника C++
Необходимо вычислить площади двух многоугольников(ну а в дальнейшем проверить, лежит ли один из них в другом, пока мне это не надо) по известным вершинам. У меня получилось вот это."Это" не работает.Где ошибки? Заранее спасибо:) #include<iostream> #include<cstdlib> #include<cmath> using namespace std; float Ploshad(float x,float y, const int n); int main(){ int i,n1,n2; ...
приоритет. странно C++
привет всем прогерам С++ =) есть такой вопрос. Вроде ни чего сложного, но компилятор компилит это дело не так как ожидается. Есть такое предложение. IN = *block++ << 8; если указатель block ссылается на начало массива M M = {1,2,3,4,5,6,7,8,9,10}; То по таблице приоритетов сначала выполнится ++ затем * после << и только в конце будет =. В IN должно оказаться число 512:ireful:, НОоо...
C++ Перегрузка бинарной операции < http://www.cyberforum.ru/cpp-beginners/thread635163.html
Всем привет написал перегрузку для структуры: typedef struct t_FileInfo { t_String file_name; /*имя файла*/ t_String file_way; /*адрес к файлу*/ /*конструктор с параметрами*/ t_FileInfo(t_String fn = (""), t_String fw = ("")) :
C++ Не инициализируется переменная Проблема в том, что строка номер 18 полностью игнорируется, почему - вообще не понимаю. Значение i остается абракадаброй или нулем, если заранее проинициализировать переменную. #include "std_lib_facilities.h" int main() { setlocale(LC_CTYPE,"RUS"); setlocale( LC_ALL,"" ); vector<double>numbers; //вектор, куда будут добавляться числа, по мере набора их пользователем подробнее

Показать сообщение отдельно
nexen
187 / 180 / 3
Регистрация: 27.01.2012
Сообщений: 1,335
10.08.2012, 16:56  [ТС]
cossack5, спасибо конечно, но мне по сути нужно не изуродовать изображение, а сделать другое, с данными из первого. Думаю придется при получении массива пикселей поработать, а затем уже вывести на экран не через bmp, а через SetPixel

Добавлено через 3 часа 26 минут
Вот что я сделал :
1) Считал по байтам bmp формат, пока не дошел до самой матрицы пикселей.
2) Считал матрицу и записал в отдельный двоичный файл
// 3) Считал матрицу и вывел SetPixel'ем, чтобы убедиться, что в дв. файле теперь только матрица пикселей.
3) Вывел матрицу пикселей на экран, добавив в начало один лишний байт и удалив из конца один байт, на который я сместил всё это дело.

PROFIT :
<Ожидание> Chaos, Anarchy, Sodomy.
<Реальность> То же самое изображение.. Возможно в углу есть испорченный один бит, но этого я не разглядел

ВОПРОС :
Как сделать ожидание реальностью?

<Bonus> Сделал рандомизацию пикселей типа :
C++
1
2
3
4
5
6
7
8
RGBTRIPLE* RandRGB(RGBTRIPLE color)
{
    srand(static_cast<unsigned int>(time(NULL)));
    color.rgbtBlue = rand()%256;
    color.rgbtGreen = rand()%256;
    color.rgbtRed = rand()%256;
    return &color;
}
Всё равно не работает так, как должна.
<Ожидание> Chaos из разноцветных пикселей
<Реальность> ..Флаг.. Выводятся горизонтальные полосы в высоту, примерно, по 200 пикселей разных цветов. При этом эти цвета похожи (одного оттенка) : красный, оранжевый, желтый, светло-зеленый и т.д (плавный переход). Причем они сами повторяются через 4 полосы. Вот пример такого :Картинка в виде двумерного массива пикселей
Сам флаг при каждом новом запуске разных цветов :<
p.s Если ставить breakpoint на эту функцию, то она действительно рандомит каждый пиксель. Числа разные
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru