在视频上画图后清除的问题 ( 积分: 100 )

  • 主题发起人 主题发起人 风铃夜思雨
  • 开始时间 开始时间

风铃夜思雨

Unregistered / Unconfirmed
GUEST, unregistred user!
我使用DSPACK2.33
用到的控件DSVideoWindowEx
两个位图存放在资源中
在视频播放时,在坐标x=30,y=30画图
问题在于,如果画第二张图前先清除第一张图。
不能使用全屏清除,必须区域清除。因为在其它坐标上会有其它位图。
procedure TForm1.DrawBitmap(X, Y: Integer;
ResName: string);
var Map: TBitmap;
begin

Map := TBitmap.Create;
Map.TransparentColor := clFuchsia;
//要屏蔽的背景色
Map.Transparent := true;
//透明位图的背景色
Map.LoadFromResourceName(hinstance, ResName);
//加载资源图片
DSVideoWindowEx.Canvas.Draw(X, Y, Map);
//把图画到DSVideoWindowEx上
Map.Free;
end;


procedure TForm1.Button1Click(Sender: TObject);
begin

DrawBitmap(200, 30, 'BITMAP_1');
//先画一张位图
end;


procedure TForm1.Button2Click(Sender: TObject);
begin

//如何清除第一张图
end;


procedure TForm1.Button3Click(Sender: TObject);
begin

DrawBitmap(200, 30, 'BITMAP_2');//再画第二张图上去
end;
 
我使用DSPACK2.33
用到的控件DSVideoWindowEx
两个位图存放在资源中
在视频播放时,在坐标x=30,y=30画图
问题在于,如果画第二张图前先清除第一张图。
不能使用全屏清除,必须区域清除。因为在其它坐标上会有其它位图。
procedure TForm1.DrawBitmap(X, Y: Integer;
ResName: string);
var Map: TBitmap;
begin

Map := TBitmap.Create;
Map.TransparentColor := clFuchsia;
//要屏蔽的背景色
Map.Transparent := true;
//透明位图的背景色
Map.LoadFromResourceName(hinstance, ResName);
//加载资源图片
DSVideoWindowEx.Canvas.Draw(X, Y, Map);
//把图画到DSVideoWindowEx上
Map.Free;
end;


procedure TForm1.Button1Click(Sender: TObject);
begin

DrawBitmap(200, 30, 'BITMAP_1');
//先画一张位图
end;


procedure TForm1.Button2Click(Sender: TObject);
begin

//如何清除第一张图
end;


procedure TForm1.Button3Click(Sender: TObject);
begin

DrawBitmap(200, 30, 'BITMAP_2');//再画第二张图上去
end;
 
如果大小位置一样不需要清除,直接画上去就可以了.
 
不行,会出现重叠在一起的。。。
因位图透明了背影;
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
771
import
I
I
回复
0
查看
612
import
I
后退
顶部