由于delphi的原因,直接设置Flash成透明是不行的
我的方法是放一个Image组件,用定时器 定时读出Flash当前图象并画到Image组件中
Buffer := TBitmap.Create;
Buffer.Width := ShockwaveFlash1.Width;
Buffer.Height := ShockwaveFlash1.Height;
Image7.Width := ShockwaveFlash1.Width;
Image7.Height:= ShockwaveFlash1.Height;
Image7.Top := ShockwaveFlash1.Top;
Image7.Left := ShockwaveFlash1.Left;
ShockwaveFlash1.Movie := pGetCurDir+'nicefly.swf';
ShockwaveFlash1.Play;
Buffer.Transparent := False;
ShockwaveFlash1.PaintTo(Buffer.Canvas,0,0);
Buffer.PixelFormat := pf24bit;
Buffer.Canvas.Brush.Style := bsClear;
Buffer.Transparent := True;
image7.Picture.Bitmap.Assign(Buffer);