Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Media";
Текущий архив: 2004.07.04;
Скачать: [xml.tar.bz2];

Вниз

MediaPlayer   Найти похожие ветки 

 
kalista   (2004-03-18 19:10) [0]

Есть MediaPlayer в свойстве Display указан Panel1.
Если при просмотре видео нажать паузу и минимизировать форму или накрыть ее другим окном, а потом сделать форму активной, то на Panel1 не будет картинки.
Как можно избавиться от пропадания картинки при паузе?


 
Думкин ©   (2004-03-18 20:08) [1]

Я ловил эти моменты и сохранял картинку с панели.
При ее прорисовке в паузе или стопе плеера рисовал картинку.
А пропадание картинки - вполне естественно.


 
Kalista   (2004-03-19 08:57) [2]

>Думкин
Как получить картинку с панели?


 
Думкин ©   (2004-03-19 13:29) [3]

В смысле? У тебя есть какое-то "нехорошее" событие. В этот момент сдираешь с канвы и сохраняешь во временном хранилище.
А сдирать - например BitBlt.


 
Kalista   (2004-03-24 14:59) [4]

Помогите получить картинку с панели от медиаплейера.

 Image1.Canvas.CopyRect(Image1.Canvas.ClipRect, Panel2.Brush.Bitmap.Canvas, Panel2.Brush.Bitmap.Canvas.ClipRect);
 - Выдоёт Acces violation

 Image1.Picture.Bitmap :=Panel2.Brush.Bitmap;
 - Image получает пустую панель (нет картинки)

Может есть другие способы.


 
Думкин ©   (2004-03-25 06:58) [5]

Панель не от медиаплееера, а просто панель на которой идет отрисовка.

Сохранять зачем в TImage? Уж лучше TBitMap. Попробуй это:

TDemoMyPanel    = class(TPanel)
      private
       FUseCustom : boolean;
       FBM1 : TBitMap;
       procedure SetUseCustom(Value : boolean);
      protected
       procedure WMMPaint(var MSg : TMessage); message WM_Paint;
      public
       property UseCustom : boolean read FUseCustom write SetUseCustom;
       constructor Create(AOwner: TComponent);override;
       destructor Destroy; override;
     end;
//--------------------
constructor TDemoMyPanel.Create;
begin
    inherited;
    FBM1 := TBitMap.Create;
    FUseCustom := false
end;
destructor TDemoMyPanel.Destroy;
begin
    FBM1.free;
    inherited
end;
procedure TDemoMyPanel.WMMPaint;
var
 ps : TPaintStruct;
 DC : HDC;
begin
    if FUseCustom then begin
     DC := BeginPaint(Handle, ps);
     BitBlt(DC,0,0,ClientWidth,ClientHeight,FBM1.Canvas.Handle,0,0,SrcCopy);
     EndPaint(Handle, ps)
    end else inherited
end;
procedure TDemoMyPanel.SetUseCustom(Value : boolean);
var DC : HDC;
begin
    FUseCustom := Value;
    if (FUseCustom) then begin
     FBM1.Width := ClientWidth;
     FBM1.Height := ClientHeight;
     DC := GetDC(Handle);
     BitBlt(FBM1.Canvas.Handle,0,0,ClientWidth,ClientHeight,DC,0,0,SrcCopy);
     ReleaseDC(Handle,DC);
     Invalidate
    end
end;


 
Kalista   (2004-04-04 17:21) [6]

Undeclareted "BitBlt", "ReleaseDC", "EndPaint"

А нельзя обойтись без создания нового компанента?


 
Думкин ©   (2004-04-05 06:11) [7]

uses Windows?


 
clover ©   (2004-04-15 17:51) [8]

Можно скопировать Canvas панели в Panel1.Brush.Bitmap той панели, где происходит прорисовка. Тогда не придется потом прорисовывать картинку на панель заново. Она сама будет ;) и создавать придется Panel1.Brush.Bitmap, как бы уже существующий.



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

Форум: "Media";
Текущий архив: 2004.07.04;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.043 c
1-1087469500
Kirov
2004-06-17 14:51
2004.07.04
Печать Excel


3-1086676693
ROMshtain
2004-06-08 10:38
2004.07.04
как работать с Oracle


1-1087560647
DimonNew
2004-06-18 16:10
2004.07.04
Нестандартные окна


14-1087236609
ИМХО
2004-06-14 22:10
2004.07.04
У кого Windows XP?


8-1082526206
Aragon
2004-04-21 09:43
2004.07.04
Как проиграть формат Midi (mid) с помощью API.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский