Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Получение битмапа с TVideoWindow библиоте DSPack [D7]


Wistler ©   (2004-08-03 14:34:00) 

Нужно каждую секунду снимать изображение и сохранять на диск.

Метод Image1.Canvas.CopyRect(Rect(0,0,319,239),VideoWindow.Canvas,Rect(0,0,319,239))работает, только если ничто не загораживает VideoWindow.

Попытка использовать PaintTo выдает черный квадрат.

Есть ещё предложения?


WondeRu   (2004-08-03 17:40:00) [1]

глянь здесь http://www.delphimaster.ru/cgi-bin/forum.pl?id=1091099262&n=7


Profi   (2004-08-03 14:54:00) [2]

Я делал так!
procedure izvv(nom:integer);
var
Stream: TMemoryStream;
MediaSeeking: IMediaSeeking;
StopPosition, CurrentPosition: int64;
CurrentPos, StopPos: int64;
MlsCurrentPos, MlsStopPos: Cardinal;
begin
with form1 do begin
fg.ClearGraph;
fg.RenderFile(dir+'\video\'+flb.Items[nom]);
fg.Play;
FG.QueryInterface(IMediaSeeking, MediaSeeking);

   if assigned(MediaSeeking) then
     if Succeeded(MediaSeeking.GetDuration(StopPos)) then
     if Succeeded(MediaSeeking.GetCurrentPosition(CurrentPos)) then
     begin
       MlsCurrentPos := RefTimeToMiliSec(CurrentPos);
       MlsStopPos    := RefTimeToMiliSec(StopPos);
       tb.Min := 0;
       tb.Max := MlsStopPos div 1000;
       tb.Position := MlsCurrentPos div 1000;
     end;

mediaseeking.GetStopPosition(stopposition);
currentPosition:=round((stopposition*499.9)) div tb.Max;
MediaSeeking.SetPositions(CurrentPosition, AM_SEEKING_AbsolutePositioning, StopPosition, AM_SEEKING_NoPositioning);
fg.Pause;
sleep(1000);
vr.Text:=timetostr(mlsStopPos/MiliSecPerDay);
Stream:= TMemoryStream.Create;
vw.VMRGetBitmap(stream);
im.Picture.Bitmap.LoadFromStream(stream);
stream.Free;
end;
end;


Наверх

Титульная страница Поиск, карта сайта Написать письмо