|
25 марта 2012, 8:12:17 PM | # 1 |
Сообщений: 31
цитировать ответ |
Re: Я хотел бы купить C ++ опыт
Взлом Биткоин адресов.
500 Биткоинов взломаны в "мозговом кошельке" с паролем "bitcoin is awesome" Адрес кошелька: 14NWDXkQwcGN1Pd9fboL8npVynD5SfyJAE Приватный ключ: 5J64pq77XjeacCezwmAr2V1s7snvvJkuAz8sENxw7xCkikceV6e подробнее... Всем кто хочет заработать Биткоины без вложений - рекомендую сайт http://bitcoin-zarabotat.ru Короче говоря - я пишу программу для создания фрактал. Я не имея никаких проблем с этой частью, но я нахожу, что невозможно найти где-то на интеренет, который объяснит, как выводить в файл .bmp (растровый). Я не хочу, чтобы Вывод на экран и крышка экрана это, или что-нибудь подобное - я хочу, чтобы иметь возможность создавать и записывать непосредственно в растр. Если вы думаете, что вы можете мне помочь с этим, пожалуйста, свяжитесь со мной и мы обсудим, сколько я должен заплатить вам. только BTC.
|
25 марта 2012, 8:17:51 PM | # 2 |
Сообщения: 1862
цитировать ответ |
Re: Я хотел бы купить C ++ опыт
|
25 марта 2012, 8:19:59 PM | # 3 |
Сообщений: 31
цитировать ответ |
Re: Я хотел бы купить C ++ опыт
Я читал, что - но это мой первый раз программирования ничего и не ясно, на несколько вещей.
|
25 марта 2012, 8:27:42 PM | # 4 |
Сообщения: 947
цитировать ответ |
Re: Я хотел бы купить C ++ опыт
Вы смотрели на WxWidgets, он имеет класс wxBitmap.
|
25 марта 2012, 8:45:47 PM | # 5 |
Сообщения: 1862
цитировать ответ |
Re: Я хотел бы купить C ++ опыт
Я читал, что - но это мой первый раз программирования ничего и не ясно, на несколько вещей. Я бы взломать его вместе для вас в течение нескольких Bitcoins, но я нахожусь в отпуске. При отсутствии навыков спецификации чтения, я хотел бы предложить вам посмотреть на это: http://www.cplusplus.com/forum/beginner/4307/, или как это было предложены йоги использовать библиотеку, которая делает тяжелую работу за вас. Я не использовал wxBitmap, так что я не могу говорить с ним, но OpenCV имеет очень простое API для написания файлов изображений. Если вы используете OpenGL, эта ссылка имеет код выписывать BMP из буфера, возвращенного glReadPixels: http://dave.thehorners.com/tech-talk/programming/124-opengl-writing-the-framebuffer-to-disk. Если вы цените мой Google-фу, любой bitcents отправленный на мой адрес подписи будет выполнен с соответствующим уровнем благодарности. |
25 марта 2012, 8:50:47 PM | # 6 |
Сообщения: 519
цитировать ответ |
Re: Я хотел бы купить C ++ опыт
BMP очень легко формат - его просто некоторый заголовок, а затем пиксели, строки по строкам. Для фракталов, вы определенно будете использовать 24bit формат RGB BMP. Я не знаю, что презентация API используется для отображения фракталов (GDI? OpenGL? DirectX? OtherWidgets?), Но если вы можете пересчитать фрактал изображение на матрицу памяти (или длинного массива), то в основном сделано, просто откройте двоичный файл , написать заголовок (есть несколько подводных камней, но большинство из них хорошо документированы), а затем кормить целые пиксели, сделано. В случае возникновения вопросов, свяжитесь со мной.
|
26 марта 2012, 7:12:28 PM | # 7 |
Сообщений: 26
цитировать ответ |
Re: Я хотел бы купить C ++ опыт
Это звучит как школьный проект
Я не думаю, что это займет много усилий, чтобы сделать все это самостоятельно, по словам других, просто посмотреть на спецификации BMP, чтобы получить то, что заголовки вам нужно и просто выводить изображение в файл. Я испытываю желание попробовать это сам теперь только для личного интереса ... |
26 марта 2012, 7:22:06 PM | # 8 |
Сообщения: 1386
цитировать ответ |
Re: Я хотел бы купить C ++ опыт
Я тоже думаю, что это офигительно просто. Просто выяснить, какие заголовки для BMP для размера изображений по вашему выбору, и вставить их в массиве в качестве постоянных байт. Если вы хотите, чтобы записать файл BMP, выписывать постоянные байты, а затем пикселей. Не нужно даже возиться с созданием заголовка - просто сохранить файл BMP в программе рисования для размеров и глубины цвета, которые вы хотите, и использовать эту спецификацию, чтобы выяснить, какие байты заголовок и которые являются пикселями.
|
26 марта 2012, 7:57:02 PM | # 9 |
Сообщения: 1386
цитировать ответ |
Re: Я хотел бы купить C ++ опыт
Я тоже думаю, что это офигительно просто. Просто выяснить, какие заголовки для BMP для размера изображений по вашему выбору, и вставить их в массиве в качестве постоянных байт. Если вы хотите, чтобы записать файл BMP, выписывать постоянные байты, а затем пикселей. Не нужно даже возиться с созданием заголовка - просто сохранить файл BMP в программе рисования для размеров и глубины цвета, которые вы хотите, и использовать эту спецификацию, чтобы выяснить, какие байты заголовок и которые являются пикселями. И это, конечно, будет обратный порядок байт-код нейтральным, не так ли? Да потому, что это было бы массив байт (в частности, обугливается в C ++), которые не имеют проблем с порядком байтами. Если ему нужно изменить массив (например, для размещения разной высоты или ширины для изображения), то он должен убедиться, что он ставит высоту и ширину в заголовок с надлежащим уважением байтов. Но в простейшем случае, он бы с использованием фиксированного размера изображения с помощью консервированного высоту и ширину. Затем, когда он получает на самом деле тушение пикселей, он помещает 3 байт (один для R, один для G, и один для B). Я помню формат BMP, также требует каждую строку, чтобы начать на 32-битовой границе, так что в конце каждой строки, вплоть до трех нулевых байтов должны быть добавлены для заполнения, чтобы учесть это (число байтов, необходимых зависит от ширины изображения ). |
26 марта 2012, 11:08:11 PM | # 10 |
Сообщения: 504
цитировать ответ |
Re: Я хотел бы купить C ++ опыт
В общем практические советы для формата файла C ++ письменной форме; Я предлагаю следующее.
Пример: Код: класс TStreamable { общественности: ostream &записи (ostream & ) = 0; }; Класс TUint16LE: общественный TStreamable { общественности: ostream &записи (ostream &с) {s.put ((Значение>>0)&0xff); s.put ((Value>>8)&0xff); вернуться с;} uint16_t Value; }; Класс TImageSize: общественный TStreamable { общественности: ostream &записи (ostream &с) {Width.write (ы); Height.write (ы); вернуться с; } TUint16LE Ширина, высота; }; В конце концов вы будете иметь один верхний класс уровня, который записывает весь файл; но это будет вызывать более простые писатель, и они будут называть простые писатель и т.д. Вы можете дать этот класс верхнего уровня все, более удобные функции-членов Вы хотите установить данные; а затем оставить сложное письмо, чтобы заботиться о себе. Надеюсь, это поможет. |
30 марта 2012, 11:40:47 PM | # 11 |
Сообщений: 31
цитировать ответ |
Re: Я хотел бы купить C ++ опыт
Спасибо за все ответы - я должен был предварил мой вопрос с утверждением, что я ранг новичок в программировании C ++, и большинство из ваших ответов было хорошо над моей головой. Hawkix предположил, что формат I выход Netpbm вместо BMP и разработаны достаточно хорошо. Я пожертвовал небольшую сумму ему за его предложение.
После того, как я выхожу из новичка форума Я планирую начать нить, где я буду покупать указатели на C ++ и Linux. Я использую Linux в течение более года, но до сих пор погружаю свой палец в гайках и болтах вещей. Я узнал много читают форумы и книги, но я также потратил много времени из-за того, чтобы быть зацикливаться на мелких вопросах, что очень расстраивает. Надеюсь, предлагая небольшие щедроты, порядка 1 или 2 БТД, будет стимулировать людей, чтобы дать мне хорошо продумана помощь. Если какой-либо из вас интересует, держать глаз на базарной борту в ближайшее время. |
31 марта 2012, 4:34:39 AM | # 12 |
Сообщения: 120
цитировать ответ |
Re: Я хотел бы купить C ++ опыт
Я написал рэйтрейсера для компьютерной графики класса в колледже, и нужно писать в формат BMP. Вот мой код:
bmpwriter.h: Код: BOOL write_bitmap (Const символ * имя_файл, Const символ * буфер, Int ширина, высота INT); bmpwriter.cpp: Код: #включают #включают "bmpwriter.h" // материал из wingdi.h беззнаковое короткое определение типа во WORD; определение типа во беззнаковое целочисленное значение DWORD; #define FAR #pragma упаковка (толчок, 2) ЬурейаЯ структура tagBITMAPFILEHEADER { СЛОВО bfType; DWORD bfSize; СЛОВО bfReserved1; СЛОВО bfReserved2; DWORD bfOffBits; } BITMAPFILEHEADER, FAR * LPBITMAPFILEHEADER, * PBITMAPFILEHEADER; ЬурейаЯ структура tagBITMAPCOREHEADER { DWORD bcSize; / * Используется для получения цветовой таблицы * / WORD bcWidth; СЛОВО bcHeight; WORD bcPlanes; СЛОВО bcBitCount; } BITMAPCOREHEADER, FAR * LPBITMAPCOREHEADER, * PBITMAPCOREHEADER; #pragma упаковка (поп) BOOL write_bitmap (Const символ * имя_файл, Const символ * буфер, ширина INT, INT высота) { BITMAPFILEHEADER BFH = {0x4D42, SizeOf (BITMAPFILEHEADER) + SizeOf (BITMAPCOREHEADER) + ширина * высота * 3, 0, 0, SizeOf (BITMAPFILEHEADER) + SizeOf (BITMAPCOREHEADER)}; BITMAPCOREHEADER BCH = {SizeOf (BITMAPCOREHEADER), ширина, высота, 1, 24}; FILE * Pf = Еореп (имя файла, "термометру"); если (пф == NULL) { вернуться ложным; } еще { FWRITE (&BFH, SizeOf (BITMAPFILEHEADER), 1, пф); FWRITE (&BCH, SizeOf (BITMAPCOREHEADER), 1, пф); FWRITE (буфер, 3 * ширина, высота, пф); fclose (пф); возвращает истину; } } Буфер представляет собой массив (3 Ч ширина Ч высота) 8-битовых выборок, которые являются RGB цвета каждого пикселя в изображении. Я не помню, использует ли BMP RGB или BGR упорядочение, так что просто играть с ним, пока вы не получите это право. |
31 марта 2012, 10:27:16 PM | # 13 |
Сообщений: 31
цитировать ответ |
Re: Я хотел бы купить C ++ опыт
Эй, у меня есть еще один для вас, ребята. Я пишу в файл .pbm, тот работает отлично. Я делаю это так
Int основных () { ofstream MyFile ("picture.pbm"); мой файл << "255" myFile.close (); возвращать 0; } Это работает отлично - но теперь я хочу, чтобы иметь выходной файл будет называться к тому, что значение целочисленной переменной есть. Скажем, у меня есть целочисленная переменный с именем ... имя файла. Если имя файла = 156, то я хочу, чтобы вывести в файл с именем 156.pbm .. Я не могу понять, как это сделать. Заранее благодарю за любую помощь. |
31 марта 2012, 10:54:33 PM | # 14 |
Сообщения: 504
цитировать ответ |
Re: Я хотел бы купить C ++ опыт
Это работает отлично - но теперь я хочу, чтобы иметь выходной файл будет называться к тому, что значение целочисленной переменной есть. Скажем, у меня есть целочисленная переменный с именем ... имя файла. Если имя файла = 156, то я хочу, чтобы вывести в файл с именем 156.pbm .. Я не могу понять, как это сделать. Заранее благодарю за любую помощь. Простейший, вероятно, это: Код: Int основных () { беззнаковый INT Номер_файл = 156; ostringstream ОС; Операционные системы << номер дела << ".pbm"; ofstream MyFile (os.str ()); мой файл << "255" myFile.close (); возвращать 0; } Если вы собираетесь повторно использовать «ОС» следует назвать «os.str ("")»После его использования. |
31 марта 2012, 11:20:39 PM | # 15 |
Сообщений: 31
цитировать ответ |
Re: Я хотел бы купить C ++ опыт
Спасибо за вашу помощь - вы можете остановиться на этом немного?
Если вы собираетесь повторно использовать «ОС» следует назвать «os.str ("")»После его использования. Кроме того, когда я составил код, который я получил следующее: testbed1.cpp: 21: 28: ошибка: нет функции соответствия для вызова «станд :: basic_ofstream<голец>:: basic_ofstream (станд :: basic_ostringstream<голец>:: __ string_type)» |
1 апреля 2012, 4:35:08 PM | # 16 |
Сообщений: 10
цитировать ответ |
Re: Я хотел бы купить C ++ опыт
os.str () возвращает объект типа станд :: строки, но ofstream не имеет конструктор, который принимает станд :: строковый аргумент. Вот почему вы должны вызвать функцию c_str (), чтобы вернуть указатель на массив символов из объекта станд :: строки.
Попробуй это: Код: #включают #включают Int основных () { беззнаковое INT FileNum = 100; станд :: ostringstream ОС; Операционные системы << FileNum << ".pbm"; станд :: ofstream файл (. os.str () c_str ()); файл << "Здравствуйте"; file.close (); возвращать 0; } |
1 апреля 2012, 4:55:59 PM | # 17 |
Сообщения: 504
цитировать ответ |
Re: Я хотел бы купить C ++ опыт
Спасибо за вашу помощь - вы можете остановиться на этом немного? Если вы собираетесь повторно использовать «ОС» следует назвать «os.str ("")»После его использования. Поскольку ostringstream является потоковым во все дни в режиме добавления; если вы хотите использовать один и тот же, чтобы преобразовать следующий номер в последовательности, то вы должны очистить его после каждого использования. Код: ostringstream ОС; для (беззнаковое INT FileNum = 0; FileNum < 100; FileNum ++) { Операционные системы << FileNum << ".pbm"; ofstream файл (os.str () c_str ().); YourFunctionThatWritesToAStream (файл); os.str (""); } Если вы не имеете Код: os.str ("") то ОС будет иметь "0", "01", "012", "0123", "01234", "012345"И т.д., а следующий номер добавляемый.Кроме того, когда я составил код, который я получил следующее: testbed1.cpp: 21: 28: ошибка: нет функции соответствия для вызова «станд :: basic_ofstream<голец>:: basic_ofstream (станд :: basic_ostringstream<голец>:: __ string_type)» К сожалению, писал без компиляции, чтобы поймать ошибки. Коррекция 9c5207677 является все, что вам нужно -. os.str () c_str () сортирует эту ошибку из. |