另类思路解决textbox不支持(半)透明背景颜色的问题
来源:互联网 发布:js判断变量是否未定义 编辑:程序博客网 时间:2024/06/09 19:32
由于net平台的普及问题 为了尽可能的增加用户使用量 很多应用基于2.0写的 所以不考虑wpf
众所周知 winform 的textbox的颜色不能使用 带有 Alpha 属性的颜色 即半透明效果 度娘 谷哥 很久后也无法解决了该问题
忽然想到了下面的方法:
半透明的颜色 最终画在画布上叠加后 也是1个rgb颜色 取出来 就是我们要的颜色
仅适用于纯色 如果父标签有背景图片 这个暂时没法实现
有人要问了 既然只适用于纯色 那半透明的效果还有什么意义呢?
答:有的 在制作皮肤的过程中 比如在父标签背景变更的情况下 要让textbox 背景更改为 父标签的 Alpha = 30 ,这种方法就很适用
看效果:
上代码(调用这个静态函数返回的颜色赋值给textbox就可以):
VB.NET
''' <summary> ''' 将有半透明效果的颜色转成没有半透明的颜色 ''' </summary> ''' <param name="backcolor">背景色,一般为白色 Color.White</param> ''' <param name="alphacolor">带alpha的颜色</param> ''' <returns></returns> ''' <remarks></remarks> Protected Friend Shared Function Alpha2Color(backcolor As Color, alphacolor As Color) As Color Using bmp As New Bitmap(1, 1) Using g As Graphics = Graphics.FromImage(bmp) g.Clear(backcolor) Using br As New SolidBrush(alphacolor) g.FillRectangle(br, New Rectangle(0, 0, 1, 1)) End Using End Using Return bmp.GetPixel(0, 0) End Using End Function
C#
/// <summary>/// 将有半透明效果的颜色转成没有半透明的颜色/// </summary>/// <param name="backcolor">背景色,一般为白色 Color.White</param>/// <param name="alphacolor">带alpha的颜色</param>/// <returns></returns>/// <remarks></remarks>protected static internal Color Alpha2Color(Color backcolor, Color alphacolor){using (Bitmap bmp = new Bitmap(1, 1)) {using (Graphics g = Graphics.FromImage(bmp)) {g.Clear(backcolor);using (SolidBrush br = new SolidBrush(alphacolor)) {g.FillRectangle(br, new Rectangle(0, 0, 1, 1));}}return bmp.GetPixel(0, 0);}}
- 另类思路解决textbox不支持(半)透明背景颜色的问题
- 使用JS插件解决IE6不支持PNG透明背景问题
- 完美解决ie6不支持png 透明图片 和标签背景的问题
- [Javascript] 解决 IE6 中 png 图片背景不支持透明效果的问题
- 解决winfrom下TextBox不支持透明背景色
- 透明颜色背景的制作
- textbox 背景透明
- 解决flash背景透明问题
- 解决ie6不支持png透明问题
- 重复插入数据的另类解决思路
- 解决java压缩图片透明背景变黑色的问题
- 解决android 5.0 dialog背景无法透明的问题
- 对于div背景颜色的透明
- 设置 DialogFragment 的背景颜色透明
- MFC中设置静态文本的字体颜色、背景透明以及解决字体重叠
- MFC中设置静态文本的字体颜色、背景透明以及解决字体重叠
- MFC中设置静态文本的字体颜色、背景透明以及解决字体重叠
- MFC中设置静态文本的字体颜色、背景透明以及解决字体重叠
- CvMat的基本操作
- iphone开发图片如何自适应屏幕问题
- PPPD脚本释疑
- 善用GridView控件的HyperLinkField数据行
- Android NDK入门
- 另类思路解决textbox不支持(半)透明背景颜色的问题
- ADB commands
- js页面跳转代码
- Saving Word 2007 Documents to PDF and XPS Formats
- 阿里巴巴离职DBA职业生涯总结
- Android ApiDemos示例解析(81):Graphics->Text Align
- 常见DB2命令
- 反射详解-通过Class实例化具体类的对象(无参数构造)
- fopen 打开方式