int W = ...;
int H = ...;
LPVOID Data;
BITMAPINFO BInfo;
BInfo.bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
BInfo.bmiHeader.biWidth = W;
BInfo.bmiHeader.biHeight = -H;
BInfo.bmiHeader.biPlanes = 1;
BInfo.bmiHeader.biBitCount = 32;
BInfo.bmiHeader.biCompression = BI_RGB;
hDC = GetDC(NULL);
pBmp = new Graphics::TBitmap();
pBmp->Handle = CreateDIBSection(hDC, &BInfo, DIB_RGB_COLORS, (void**)&Data, NULL, 0);
ReleaseDC(NULL, hDC);
..........
hDC = GetDC(NULL);
BitBlt(pBmp->Canvas->Handle, 0, 0, W, H, hDC, X, Y, SRCCOPY);
ReleaseDC(NULL, hDC);
Imge1->Picture->Bitmap->Assign(pBmp);
Запись куска экрана в авишный файл
Собственно никто не знает как это реализовать? Мне надо часть экрана записывать в видеофайл.
Цитата:
Originally posted by AndySPb
Собственно никто не знает как это реализовать? Мне надо часть экрана записывать в видеофайл.
Собственно никто не знает как это реализовать? Мне надо часть экрана записывать в видеофайл.
СамStudio тебе поможет в этом деле...
А что такое СамStudio? :)
И мне же программно это надо
Цитата:
Originally posted by AndySPb
ээээээээээ, спасибо конечно.
А что такое СамStudio? :)
И мне же программно это надо
ээээээээээ, спасибо конечно.
А что такое СамStudio? :)
И мне же программно это надо
поищи в yandex и все она примерно где-то метров 9 весит....
Цитата:
Originally posted by AndySPb
Собственно никто не знает как это реализовать? Мне надо часть экрана записывать в видеофайл.
Собственно никто не знает как это реализовать? Мне надо часть экрана записывать в видеофайл.
Когда-то мимо меня такой кусочек кода пролетал.
Код:
Может, пригодится.
К сожалению, авторство утеряно. Если автор объявится, обязательно проставлю копирайты.
Короче, по таймеру грабим нужный кусок экрана, а потом топчем в АВИ.
_
Plisteron
ну сграбить то я его сграбил, а как в ави то запихать, он же грабиться в битмэп
Цитата:
Originally posted by AndySPb
ну сграбить то я его сграбил, а как в ави то запихать, он же грабиться в битмэп
ну сграбить то я его сграбил, а как в ави то запихать, он же грабиться в битмэп
Покопай XVID (его в сырцах разработчик бесплатно раздаёт). Ещё можно попробовать кодеки QuickTime и Indeo.
Цитата:
Originally posted by AndySPb
vladsoft ну его я нашел, но что толку то, мнеж программно это делать надо
Plisteron
ну сграбить то я его сграбил, а как в ави то запихать, он же грабиться в битмэп
vladsoft ну его я нашел, но что толку то, мнеж программно это делать надо
Plisteron
ну сграбить то я его сграбил, а как в ави то запихать, он же грабиться в битмэп
Ребяты, Вы что хелпы принципиально не читаете что ли ? в WindowsSDK есть абсолютно все про это (см AVI Functions и т.д. ). Только еще имейте ввиду, насколько я помню, не всякий кодек умеет запоковывать только 1 кадр - такие уж видать у них алгоритмы сжатия - требуют несколько кадров подряд...
Цитата:
Originally posted by ILS
Только еще имейте ввиду, насколько я помню, не всякий кодек умеет запоковывать только 1 кадр - такие уж видать у них алгоритмы сжатия - требуют несколько кадров подряд...
Только еще имейте ввиду, насколько я помню, не всякий кодек умеет запоковывать только 1 кадр - такие уж видать у них алгоритмы сжатия - требуют несколько кадров подряд...
Afair, Indeo умеет.