Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.028 c
1-1099382129
Геннадий
2004-11-02 10:55
2004.11.14
Out of memory


3-1097714633
saNat
2004-10-14 04:43
2004.11.14
ADOConnection


3-1097652026
first_may
2004-10-13 11:20
2004.11.14
Выборка...


14-1098615951
JaVa73
2004-10-24 15:05
2004.11.14
Вопрос всей моей жизни: как в России можно зарабатывать деньги на


3-1097590398
}|{yk
2004-10-12 18:13
2004.11.14
С какой радости Borland в DB.pas написала такое?




   Наверх