首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

C#中DrawImage(emf矢量图),怎么背景透明

2012-03-03 
C#中DrawImage(emf矢量图),如何背景透明?我用Adobe Illustrator做了一副矢量图,保存为emf格式.在VS.NET 20

C#中DrawImage(emf矢量图),如何背景透明?
我用Adobe Illustrator做了一副矢量图,保存为emf格式.
在VS.NET 2003 中新建一个UserControl,在重写OnPaint方法如下:
MetaFile metaFile = new MetaFile("C:\1.emf");
e.Graphics.DrawImage(metaFile,e.ClipRectangle);
这样描绘出来的图象背景是不透明的
用了SetStyle(ControlStyles.SupportTransparent,true)后将控件BackColor = Color.Transparent也无效
设定Form的TransparencyKey为控件的背景色,也无效.
转换成Bitmap后MakeTransparent(bitMap.GetPixel(1,1))还是无效......
emf文件本身是背景透明的,不用转换成什么gif格式,因为转换了就不是矢量图了.
但是在控件上画出来就成了背景不透明了,谁能帮我啊?

[解决办法]
不好意思,对GDI+不了解
[解决办法]

用PictureBox呢?

[解决办法]
关注
[解决办法]
测试后是透明的,不过我的是VS2005,楼主升级个看看吧

C# code
private void button1_Click(object sender, EventArgs e){    Metafile vMetafile = new Metafile(@"c:\temp\temp.emf");    Graphics vGraphics = pictureBox1.CreateGraphics();    vGraphics.DrawImage(vMetafile, 0, 0, 100, 100);    vGraphics.Dispose();} 

热点排行