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

Стандартный jpg компрессор - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Такая сортировка методом пузырька правильная? http://www.cyberforum.ru/cpp-beginners/thread1086855.html
int a = {100, 90, 300, 1, -200, -600, 800, 100, 400, 70}; int i,j,k; for (i=0;i<10;i++) for (j=0;j<10;j++) if (a > a){ k = a; a=a; a = k; }
C++ Виртуальные деструкторы #include <iostream> using namespace std; class first { public: first(); virtual ~first(){delete pointer;} virtual void text(){cout<<"text"<<endl;} void text2(){cout<<"text2"<<endl;} http://www.cyberforum.ru/cpp-beginners/thread1086840.html
Обнаружить перегрузку кучи C++
где-то перегружается куча, подскажите в чем проблема ... // CyberForum 4.cpp : Defines the entry point for the console application. /*Описать структуру с именем WORKER, содержащий следующие поля: NAME-фамилия и инициалы работника, POS-название должности, YEAR - год принятия на работу, MONTH-месяц приема на работу. Написать программу, отдельными функциями выполняет следующие действия: ...
C++ Ошибка с "stdafx.h"
#include <stdafx.h> #include <stdio.h> #include <math.h> #include <stdlib.h> #include <time.h> #include <ctime> #include <iomanip> #include <iostream> #include <string.h> #include <conio.h>
C++ В матрице запомнить строку с повторяющимся элементом http://www.cyberforum.ru/cpp-beginners/thread1086768.html
А теперь если вы обратили внимание на заголовок, перейдем к делу :) Например, в матрице в строках есть повторяющийся элемент. И мне надо запомнить данную строку, само значение и количество его повторений. Вот в таком случае надо создать свою структуру с 3 полями: struct S { int row, value, count; ... };
C++ Литература по работе со звуком в С++ Посоветуйте хорошие книжки для работы со звуком на С++. Заранее спасибо. подробнее

Показать сообщение отдельно
mustimur
268 / 222 / 57
Регистрация: 22.11.2013
Сообщений: 832
Записей в блоге: 1
01.02.2014, 11:52     Стандартный jpg компрессор
Здравствуйте уважаемые форумчане!

Пишу приложение (winform) для расчета и визуализации 3d объектов код в принципе создан навожу марафет. Визуализация выполнена с использованием OpenGL, требуется сохранение получаемого изображение. Удалось реализовать код для формирования карты пикселе (RGB) с сохранением в BMP для этого под себя адаптировал следующий код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
void SaveBitmapToFile(unsigned int* pBitmapBits, LONG lWidth, LONG lHeight, WORD wBitsPerPixel, LPCTSTR lpszFileName )  
{  
    unsigned long headers_size = sizeof( BITMAPFILEHEADER ) +  
                                 sizeof( BITMAPINFOHEADER );  
    unsigned long padding_size    = ( 4 - ( ( lWidth * 3 ) % 4 ) ) % 4;  
    unsigned long pixel_data_size = lHeight * ( ( lWidth * 3 ) + padding_size );  
  
    BITMAPINFOHEADER bmpInfoHeader = {0};  
    bmpInfoHeader.biSize = sizeof(BITMAPINFOHEADER);  
    bmpInfoHeader.biBitCount = wBitsPerPixel;  
    bmpInfoHeader.biClrImportant = 0;  
    bmpInfoHeader.biClrUsed = 0;  
    bmpInfoHeader.biCompression = BI_RGB;  
    bmpInfoHeader.biHeight = lHeight;  
    bmpInfoHeader.biWidth = lWidth;  
    bmpInfoHeader.biPlanes = 1;  
    bmpInfoHeader.biSizeImage = pixel_data_size;  
    BITMAPFILEHEADER bfh = {0};  
    bfh.bfType=0x4D42;  
    bfh.bfOffBits = headers_size; 
    HANDLE hFile = CreateFile( lpszFileName,GENERIC_WRITE, 0, NULL, CREATE_ALWAYS,  FILE_ATTRIBUTE_NORMAL, NULL );  
    if( !hFile ) return;  
     DWORD dwWritten = 0;  
    WriteFile( hFile, &bfh, sizeof(bfh), &dwWritten ,  NULL );  
    WriteFile( hFile,  &bmpInfoHeader, sizeof(bmpInfoHeader),  &dwWritten,NULL );  
    WriteFile(hFile, pBitmapBits, bmpInfoHeader.biSizeImage, &dwWritten, NULL );  
    CloseHandle(hFile);  
}
Но хотелось бы еще из своего приложения иметь возможность сохранять и в jpg формате (это опция для меня удобна), но при этом писать свой собственный компрессор - как говорится овчинка выделки не стоит на данном этапе. Отсюда вопрос есть готовые (свободно распространяемые)? Или какие-то другие варианты решений?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 19:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru