Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.11.14;
Скачать: CL | DM;

Вниз

Panel1.Handle - обработка изображения   Найти похожие ветки 

 
progress   (2004-10-27 18:28) [0]

У меня есть примерчик использования видеозахвата (DirectShow). Работает, выводит результат на панель ... А мне надо взять это изображение и поместить, например, в TImage, для дальнейщей обработки.
 пробовал:
 Image1.Canvas.Handle := GetDC(Panel1.Handle) - не выходит, а как мне всё таки решить данную проблему???


 
debuger ©   (2004-10-27 19:21) [1]

Вроде так. С панельки кадр сдираю в битпаму.

var
 srcDC, destDC: HDC;
 hbm: HBITMAP;
 currentFrame: Graphics.TBitMap;

begin
 currentFrame := TBitMap.Create;

 srcDC := GetDC( Panel1.Handle );
 destDC := CreateCompatibleDC( srcDC );

 // создаем битпам
 hbm := CreateCompatibleBitMap( srcDC,
            width,
            height );

 SelectObject( destDC, hbm );

 // копируем содержимое
 BitBlt( destDC, 0, 0, width, height,
         srcDC, 0, 0, SRCCOPY );

 currentFrame.Handle := hbm;

 // используем текущий кадр сдертый в битмап

 // после использования удаляем все лишнее
 DeleteDC( destDC );
 ReleaseDC( Panel1.Handle );
 DeleteObject( hbm );
end;


 
progress   (2004-10-28 10:07) [2]

Возникла ещё одна проблемма:
 а как бороться с тем, что когда панель находится не полностью на экране (точнее в её видимой части), при сохранении в файл изображения с битмамы, то картинка получается малось "обрезанная". Часть та которая была в видимой части экрана видна, а та которая выходила за её пределы просто ... белая?


 
debuger ©   (2004-10-28 15:02) [3]

Вроде никак.

Например, можно рисовать на рабочем столе :) Он за пределы не уйдет.



Страницы: 1 вся ветка

Текущий архив: 2004.11.14;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.042 c
1-1099056568
Сергей Г
2004-10-29 17:29
2004.11.14
Доступ к файлу Excel


4-1095775745
VideoLord
2004-09-21 18:09
2004.11.14
Как программно залогинить пользователя


1-1099231595
Валерий
2004-10-31 17:06
2004.11.14
Application.Terminate;


3-1097581615
Term
2004-10-12 15:46
2004.11.14
ERwin как подключиться к базе MSSQL2000


1-1099239142
Piero
2004-10-31 19:12
2004.11.14
Проблемма с собственным классом