графика под Windows
Жмёшь пимпу Print Screen , открываешь пэйнт и жмёшь ctrl+v
2)Метод программерский - гемориться и писать целую процедуру для сохранения в файл, это не для меня.
Выбирай, что тебе больше подходит 8)
#pragma pack(1) //без выравнивания
typedef struct {
u8 ImageIdLen; // 0 if no image id
u8 ColorMapType; // 0 if no color map for Hi & True color,1 for 256 color
u8 ImageType; // 1 256 color uncompressed, 2 is Hi or True color uncompressed
u16 CMapFirstEntry; // 0 (?)
u16 ColorNum; // 0 if no color map
u8 CMapEntryBitnum;// 0 if no color map, 0x18 (?) if color map present
u16 XOrigin; // 0 (?)
u16 YOrigin; // 0 (?)
u16 Width;
u16 Height;
u8 BPP;
u8 Order;// 0x20 - normal pos (left to right, top to bottom)
// 0 - left to right, bottom to top
} TGA_HEADER;
#pragma pack
после этого идёт массив пикселов, как обычно, построчно слева-направо сверху-вниз
вот собственно и всё
bmp немного сложнее, если надо, могу и его привести
___________________________________
да, забыл, это для непалитрового варианта. а для палитрового после хедера идёт сначала палитра - u8 pal[256*3]
Попользуйся GetDIBits...
Э....а не подсажешь, этот кусок в прогу засунуть? Извини, что-то я не понял.Он сразу выведет результат в нужном формате?
Если не сложно, можно подробнее...
это описание структуры. заполняешь её чем надо, пишешь в файл, потом пишешь собственно картинку, массив пикселей
А какие у неё поля?
Это формат файла tga. Тебе предлагают самому создать файл и записать туда нужное изображение.
Могу предложить немного инфы по bmp: . Там первые две лекции посвящены bmp.
тебе что, прям кусок програмы нужен?
HDC hdc, // handle to device context
HBITMAP hbmp, // handle to bitmap
UINT uStartScan, // first scan line to set in destination bitmap
UINT cScanLines, // number of scan lines to copy
LPVOID lpvBits, // address of array for bitmap bits
LPBITMAPINFO lpbi, // address of structure with bitmap data
UINT uUsage // RGB or palette index
);
HBITMAP CreateBitmap(
int nWidth, // bitmap width, in pixels
int nHeight, // bitmap height, in pixels
UINT cPlanes, // number of color planes used by device
UINT cBitsPerPel, // number of bits required to identify a color
CONST VOID *lpvBits // pointer to array containing color data
);
благодарю.
это что, сильно проще?
Да, это сильно проще. Делаешь GetDIBBits, после чего WriteFile, и все. BMPшка готова.
Там в исходниках, во View-шке есть сохранение файла
Оставить комментарий
Katalina_r
Народ, подскажите, как сохранить результат работы проги в каком-нибудь формате, например, bmp.Она у меня всякие графики рисует.
Пользовался Visial Studio C++