Вниз
Скачать: CL | DM;

DSpack фильтры   Найти похожие ветки 

← →
izja   (2010-11-20 18:28) [0]

удаляю Video Renderer и добавляю свой фильтр

FDC - канвас формы

function TBCmyRenderer.DoRenderSample(MediaSample: IMediaSample): HResult;
var
 Bits: PByte;
begin

 if (MediaSample = nil) then  Exit(E_POINTER);

 MediaSample.GetPointer(Bits);

 StretchDIBits(FDC ,
   0, 0, FWidth, FHeight,
   0, 0, FWidth, FHeight,
   Bits, PBitmapInfo(@FBMI)^,
   DIB_RGB_COLORS, SRCCOPY);

 Result := NOERROR;

end;

на форме нормально отрисовывается видео..

необходимо добавить на видео свой битмап..

пробую для начала через битмап сделать вывод, что бы потом на нем можно было что то рисовать..

создаю свой битмап:

 bmp:= TBitmap.Create;
 bmp.PixelFormat := pf24Bit;
c размерами формы..

FDC - уже канвас битмапа
 StretchDIBits(FDC ,
   0, 0, WidthF, Height,
   0, 0, FWidth, FHeight,
   Bits, PBitmapInfo(@FBMI)^,
   DIB_RGB_COLORS, SRCCOPY);

тут же пытаюсь на канве формы отрисовать данный битмап через
form.canvas.draw(0,0, bmp);

на форме отрисовываеся только белый прямоугольник..

простите, я только учусь, поэтому не могу понять почему не получается.
чувствую что вероятно что - то с этими DIBits..

но почему на канву формы StretchDIBits нормально выводит а на канву битмапа нет...


← →
izja   (2010-11-20 18:45) [1]

второй более не понятный момент:

videoF.Canvas.lock;
 StretchDIBits(videoF.Canvas.Handle,
   0, 0, FWidth, FHeight,
   0, 0, FWidth, FHeight,
   Bits, PBitmapInfo(@FBMI)^,
   DIB_RGB_COLORS, SRCCOPY);

   videoF.Canvas.TextOut(0,0, timeToStr(time));

 videoF.Canvas.unlock;

в первых секундах на форме отрисовывается мельком время, но потом только видео поток..

почему так происходит?



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

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



Память: 0.45 MB
Время: 0.005 c
2-1290427938
12
2010-11-22 15:12
2011.02.13
Как узнать длину надписи на кнопки в пикселах?


2-1290508252
Darvin
2010-11-23 13:30
2011.02.13
D2009 Не работают точки останова


2-1285314207
Aleks
2010-09-24 11:43
2011.02.13
Как узнать о завершении работы Windows XP?


2-1288912217
Германн
2010-11-05 02:10
2011.02.13
Ещё раз о "подсказках"


2-1290501543
mem
2010-11-23 11:39
2011.02.13
как строится индекс?




   Наверх