unit MainUnit;interfaceuses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ExtCtrls, jpeg, OleCtrls, MPlayer;type
  TMainForm = class(TForm)
    Image1: TImage;
    Image2: TImage;
    Image3: TImage;
    OpenDialog1: TOpenDialog;
    MediaPlayer1: TMediaPlayer;
    procedure FormCreate(Sender: TObject);
    procedure Image2Click(Sender: TObject);
    procedure Image3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;var
  MainForm: TMainForm;
  AppPath: String;
  Rgn: HRgn;
implementation从这里开始{{
procedure TMainForm.FormCreate(Sender: TObject);
var
  RgnDataSize:integer;
  RgnData:PRgnData;
  Reader:TFileStream;
begin
  AppPath:=ExtractFilePath(Paramstr(0));
  try
    Reader:=TFileStream.Create(AppPath+'video.msk',fmOpenRead);
    Reader.Read(RgnDataSize,Sizeof(RgnDataSize));
    if RgnDataSize=0 then exit;
    GetMem(RgnData,RgnDataSize);   //为重绘区域申请内存
    Reader.Read(RgnData^,RgnDataSize);
    Reader.Free;    Rgn:=ExtCreateRegion(Nil,RgnDataSize,RgnData^);  //根据内存建立一个绘制区域
    if Rgn=0 then exit;
    SetWindowRgn(Handle,Rgn,True); //重新绘制窗口
    Image1.Picture.LoadFromFile(AppPath+'video.bmp');}}这里    Width:=Image1.Picture.Bitmap.Width;
    Height:=Image1.Picture.Bitmap.Height;
  except
    MessageDlg('Can not load .msk files',mtError,[mbOK],0);
    Application.Terminate;
    exit;
  end;end;procedure TMainForm.Image2Click(Sender: TObject);
begin
  Close;
end;procedure TMainForm.Image3Click(Sender: TObject);
begin
  if OpenDialog1.Execute then
    begin
      if OpenDialog1.FileName<> '' then
        begin
          MediaPlayer1.FileName:= OpenDialog1.FileName;
          MediaPlayer1.Play;
        end
      else
        ShowMessage('请选择视频文件!');
    end;
end;end.
不知道这是怎么回事,不就是编个媒体播放器吗 ,怎么还要搞到内存编辑去