Форум программистов, компьютерный форум 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, 20:00  [ТС]     Картинка в виде двумерного массива пикселей
cossack5, да, такое работает, но в чем же тогда проблема? О_о

Добавлено через 12 минут
Опаньки. И правда. Если написать в моём варианте вместо :
C++
1
2
3
4
5
6
7
8
for (int i=0; i<sx; ++i)
                for (int j=0; j<sy; ++j)
                {
                    fread(&rgb_l, sizeof(rgb_l), 1, f2);
                    RandRGB(&rgb_l);
                    //SetPixel(hdc, j, sx-i, RGB(rgb_l.rgbtRed, rgb_l.rgbtGreen, rgb_l.rgbtBlue));
                    SetPixel(hdc, j, sx-i, RGB(rand()%255, rand()%255, rand()%255));
                }
это :
C++
1
2
3
4
5
6
7
8
for (int i=0; i<sx; ++i)
                for (int j=0; j<sy; ++j)
                {
                    //fread(&rgb_l, sizeof(rgb_l), 1, f2);
                    //RandRGB(&rgb_l);
                    //SetPixel(hdc, j, sx-i, RGB(rgb_l.rgbtRed, rgb_l.rgbtGreen, rgb_l.rgbtBlue));
                    SetPixel(hdc, j, sx-i, RGB(rand()%255, rand()%255, rand()%255));
                }
То работает нормально. Но как такое может быть? О_о
Чем SetPixel'ю помешала fread и RandRGB, если они никак не влияют на rand()? Или влияют?

Добавлено через 1 минуту
Если перенести
C++
1
2
fread(&rgb_l, sizeof(rgb_l), 1, f2);
                    RandRGB(&rgb_l);
на цикл ниже к i<sx-циклу (удалив его перед SetPixel), то получается (опять таки) горизонтальный флаг, состоящий из вертикальных рандомных полос О_о
 
Текущее время: 13:14. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru