c#窗体插入FLASH 背景透明
在C#winform中插入FLASH我知道怎么做,但是我现在想知道怎么能让FLASH背景变成透明的,原本我自己做了一个FLASH,背景是透明的,但放入窗体后就不是透明的了...
在C# winform中插入FLASH我知道怎么做,但是我现在想知道怎么能让FLASH背景变成透明的,原本我自己做了一个FLASH,背景是透明的,但放入窗体后就不是透明的了,请问有什么属性或者方法能让FLASH背景透明?
展开
展开全部
在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的背景透明!
但是在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/
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询