我想做一个圆角矩形的窗体,用BMP画了个背景,四个角用青色填充,在OnLoad里加入如下代码:
Bitmap bm = this.BackgroundImage as Bitmap;
bm.MakeTransparent(bm.GetPixel(0,0));
this.TransparencyKey = bm.GetPixel(0,0);
实现了四个角的透明,可窗体上label,button等控件上的文字也变成透明的了(如果是有背景的button则正常),是我用的方法不对吗?应该如何更改?
先谢过大家了!
Bitmap bm = this.BackgroundImage as Bitmap;
bm.MakeTransparent(bm.GetPixel(0,0));
this.TransparencyKey = bm.GetPixel(0,0);
实现了四个角的透明,可窗体上label,button等控件上的文字也变成透明的了(如果是有背景的button则正常),是我用的方法不对吗?应该如何更改?
先谢过大家了!
解决方案 »
- 请问大家帮忙看一个算法
- vs编辑器底部空白
- 安装与部署里面如何将开机自动运行的代码写到安装程序里?
- 想做个纸牌游戏,那有54张扑克牌的位图文件(.bmp)?,谢谢!
- ++++++++急问:http错误404:not found+++++
- 求救!GetChanges()的问题!!还有人在吗???
- FileStream()怎样获得文件相对路径?在线等待,谢谢了啊!
- 一个正则表达式的问题! 顶者有分!
- listview语句怎样写在Form1()之外才有效
- 请大家推荐一些.net(c#)方面的书籍!
- 问题A:鼠标点哪个文本框,就切换到相对应的按钮的焦点 问题B:点击鼠标切换层内容的JS代码
- C#2.0调用ActiveX组件出错,请教原因?
你说的对,字体设成其他色就可以了,可为什么我的穿透色会变成黑色呢?我的图片的四个角都是青色的,我设的是图片(0,0)位置的颜色为透明色,我在FORM属性里选的也是透明色也是青色,而且从运行结果看我的图片四角也变透明了,
为什么也变成透明色了?
bm.MakeTransparent(bm.GetPixel(0,0));
后,图像四角变成了黑色,给TransparencyKey赋值就成了黑色,所以黑色就变透明了。MakeTransparent不是使指定颜色对此bitmap透明吗?怎么会把那个颜色变成黑色呢?不用这条语句图片四角又不会透明,有什么办法可以解决吗?多谢了
Bitmap bm = this.BackgroundImage as Bitmap;
bm.MakeTransparent(bm.GetPixel(0,0));
this.TransparencyKey = bm.GetPixel(0,0);with
Bitmap bm = this.BackgroundImage as Bitmap;
this.TransparencyKey = bm.GetPixel(0,0);
可是我如果不写bm.MakeTransparent(bm.GetPixel(0,0));运行时会显示青色的四个色,不会变成透明多谢你耐心的回答,即使最终不能解决我也要把分加给你,多谢了。
透明为什么一定需要这一句
bm.MakeTransparent(bm.GetPixel(0,0));transparentkey不是已经设定了穿透颜色,它会进行过滤的。
我是按http://www.microsoft.com/china/MSDN/library/netFramework/netframework/WindowsForms.mspx?mfr=true
这篇文章写的程序,结果就是上面那样,黑色变成了透明色
http://allancandy.cnblogs.com/archive/2005/09/01/227814.html多谢各位,告别是Knight94(愚翁) ,多谢了。
Bitmap bm = this.BackgroundImage as Bitmap;
bm.MakeTransparent(bm.GetPixel(0,0));Bitmap bitNew = new Bitmap( bm.Width, bm.Height );
Graphics g = Graphics.FromImage( bitNew );
g.FillRectangle( Brushes.White/* Set transparent color here*/, 0, 0, bm.Width, bm.Height );
g.DrawImage( bitNew, 0, 0 );//Redraw image in specific back color
g.Dispose();this.TransparencyKey = Color.White;//Set transparent key