|
01.08.2011, 12:26
|
#1
|
Зануда с интернетом
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений (для 20,935 пользователей)
|
Битмап
Посоветуйте библиотеку для работы с битмапами: загрузка, сохранение, чтение пискеля, запись пискселя.
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
|
(Offline)
|
|
01.08.2011, 12:34
|
#2
|
Модератор
Регистрация: 23.10.2005
Сообщений: 219
Написано 62 полезных сообщений (для 247 пользователей)
|
Ответ: Битмап
|
(Offline)
|
|
Эти 4 пользователя(ей) сказали Спасибо Matt Merkulov за это полезное сообщение:
|
|
01.08.2011, 20:38
|
#3
|
Терабайт исходников
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений (для 6,051 пользователей)
|
Ответ: Битмап
EasyBMP (сверхпрост в использовании + опенсоурс), DevIL (чуть помудрёнее но много фич).
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
02.09.2011, 01:08
|
#4
|
Знающий
Регистрация: 04.10.2008
Адрес: Киев
Сообщений: 230
Написано 3 полезных сообщений (для 3 пользователей)
|
Ответ: Битмап
воистину отличная библиотека - ImageStone. Работает с большим кол-вом форматов, очень одобная. а сохранение битмапа делается легко, выкладываю свою функцию, если интересно:
(говорит это о том, что работать с битмапом через не так уж сложно)
void CaptureScreen(HWND window)
{
//Получаем прямоугольную область экрана
RECT windowRect;
GetWindowRect(window, &windowRect);
//Размеры битмэпа
int bitmap_dx = windowRect.right-windowRect.left;
int bitmap_dy = windowRect.bottom-windowRect.top;
BITMAPINFOHEADER bmpInfoHeader;
BITMAPFILEHEADER bmpFileHeader;
BITMAP* pBitmap;
bmpFileHeader.bfType = 0x4d42;
bmpFileHeader.bfSize = 0;
bmpFileHeader.bfReserved1 = 0;
bmpFileHeader.bfReserved2 = 0;
bmpFileHeader.bfOffBits = sizeof(BITMAPFILEHEADER) + sizeof(BITMAPINFOHEADER);
bmpInfoHeader.biSize = sizeof(bmpInfoHeader);
bmpInfoHeader.biWidth = bitmap_dx;
bmpInfoHeader.biHeight = bitmap_dy;
bmpInfoHeader.biPlanes = 1;
bmpInfoHeader.biBitCount = 24;
bmpInfoHeader.biCompression = BI_RGB;
bmpInfoHeader.biSizeImage = bitmap_dx*bitmap_dy*(24/8);
bmpInfoHeader.biXPelsPerMeter = 0;
bmpInfoHeader.biYPelsPerMeter = 0;
bmpInfoHeader.biClrUsed = 0;
bmpInfoHeader.biClrImportant = 0;
BITMAPINFO info;
info.bmiHeader = bmpInfoHeader;
BYTE* memory;
HDC winDC = GetWindowDC(window);
HDC bmpDC = CreateCompatibleDC(winDC);
//Создаем битмэп
HBITMAP bitmap = CreateDIBSection(winDC, &info, DIB_RGB_COLORS, (void**)&memory, NULL, 0);
SelectObject(bmpDC, bitmap);//Выбираем в контекст битмэп
BitBlt(bmpDC, 0, 0, bitmap_dx, bitmap_dy, winDC, 0, 0, SRCCOPY);
ReleaseDC(window, winDC);
HANDLE hFile = CreateFile(buffer,GENERIC_WRITE,0,NULL,
OPEN_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);
if (hFile == INVALID_HANDLE_VALUE)
return;
DWORD dwWritten = 0;
WriteFile(hFile, &bmpFileHeader, sizeof(BITMAPFILEHEADER), &dwWritten, NULL);
WriteFile(hFile, &bmpInfoHeader, sizeof(BITMAPINFOHEADER), &dwWritten, NULL);
WriteFile(hFile, memory, bmpInfoHeader.biSizeImage, &dwWritten, NULL);
CloseHandle(hFile);
}
__________________
...мама я больше не буду!
|
(Offline)
|
|
02.09.2011, 01:09
|
#5
|
Знающий
Регистрация: 04.10.2008
Адрес: Киев
Сообщений: 230
Написано 3 полезных сообщений (для 3 пользователей)
|
Ответ: Битмап
Сообщение от impersonalis
Посоветуйте библиотеку для работы с битмапами: загрузка, сохранение, чтение пискеля, запись пискселя.
|
Вот, держи.
__________________
...мама я больше не буду!
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
02.09.2011, 18:44
|
#6
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: Битмап
а сохранение битмапа делается легко
|
Эмм.. Легко это так:
SaveImage(image,"c:/image.jpg",JPG);
|
(Offline)
|
|
Эти 4 пользователя(ей) сказали Спасибо moka за это полезное сообщение:
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 11:14.
|