![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
В некоторых мультимедийных плеерах есть кнопка "Фото", которая позволяет сохранить отдельный кадр в формате рисунка, например, *.bmp. Какую инструкцию надо организовать, чтобы при нажатии кнопки, кадр просматриваемый стандартным видеоплеером delphi, записывался, допустим, в другом окне этого же приложения или открывал диалоговое окно "Сохранить рисунок как ...". Встречал исходники, где фрейм AVI-файла сохраняется в формате *.bmp. А как записать отдельный кадр?
Последний раз редактировалось cadil, 24.10.2007 в 15:50. |
|
#2
|
||||
|
||||
|
Цитата:
|
|
#3
|
|||
|
|||
|
Спасибо!
Очень оперативно. На форуме ixbt эта тема висит около двух недель и ни одного ответа ... Перехожу к вам. |
|
#4
|
||||
|
||||
|
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
DC: HDC;
Canvas: TCanvas;
B: TBitmap;
begin
Canvas := TCanvas.Create;
B := TBitmap.Create;
DC := GetDC(mplayer1.handle);
try
Canvas.Handle := DC;
with MPlayer1 do
begin
B.Width := Width;
B.Height := Height;
B.Canvas.CopyRect(Rect(0, 0, Width, Height),
Canvas, Rect(0, 0, Width, Height));
B.SaveToFile('c:\cadr.bmp');
end
finally
ReleaseDC(0, DC);
B.Free;
Canvas.Free
end
end; |
|
#5
|
|||
|
|||
|
Глубоко признателен за код!
Поставил в исходник стандартного видеоплейера - все заработало. Осталось две проблемы: 1. Сохраняется рисунок только кнопок плейера. Самостоятельно ввести в качестве переменной MediaPlayer.Display вместо MediaPlayer.handle у меня не получается. 2. Как вывести рисунок (вместо его сохранения в файле) в окно объекта Image? Спасибо! Последний раз редактировалось cadil, 26.10.2007 в 16:55. |