c#窗体插入FLASH 背景透明

在C#winform中插入FLASH我知道怎么做,但是我现在想知道怎么能让FLASH背景变成透明的,原本我自己做了一个FLASH,背景是透明的,但放入窗体后就不是透明的了... 在C# winform中插入FLASH我知道怎么做,但是我现在想知道怎么能让FLASH背景变成透明的,原本我自己做了一个FLASH,背景是透明的,但放入窗体后就不是透明的了,请问有什么属性或者方法能让FLASH背景透明? 展开
 我来答
bater2000
推荐于2016-10-07 · TA获得超过1486个赞
知道小有建树答主
回答量:803
采纳率:0%
帮助的人:1075万
展开全部
在VB上,flash的透明处理方便,只需修改flash控件shockwaveFlash的WMode属性:wmode = Transparent。
但是在C#中,这样设置,flash控件根本没反应!需要用一个控件 f_in_box_lib.dll和以下代码实现flash的背景透明。

分两步:

1. WMode = Transparent (在属性列表中设置)

2. 响应f_in_box_lib的OnPaintStage事件,并添加代码

if (f_in_box__lib.PaintStage.PrePaint == stage)
{
f_in_box__lib.f_in_box__control f_in_box__control = (f_in_box__lib.f_in_box__control)sender;

using (Bitmap b = new Bitmap(Width, Height))
{
using (Graphics g = Graphics.FromImage(b))
{
PaintEventArgs pea = new PaintEventArgs(g, new Rectangle(f_in_box__control.Location, f_in_box__control.Size));

this.OnPaintBackground(pea);
this.OnPaint(pea);

g.DrawImage(
pictureBox1.Image,
new Rectangle(pictureBox1.Location, pictureBox1.Size),
new Rectangle(new Point(0, 0), pictureBox1.Image.Size),
GraphicsUnit.Pixel);

Canvas.DrawImage(
b,
new Rectangle(new Point(0, 0), f_in_box__control.Size),
new Rectangle(f_in_box__control.Location, f_in_box__control.Size),
GraphicsUnit.Pixel);
}
}
}

这样就实现了flash的背景透明!

参考资料: http://www.f-in-box.com/dotnet/

本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式