目前有个任务,需要实现图片颜色半透明,效果如下图:
测试了一下,使用方法为在上面自定义一个控件,在控件上用指定颜色绘制一个矩形,并指定其为半透明(alpha方式)。
定义控件
定义控件如下内容:
public MyOpaqueLayer()//构建函数 含有参数的初始化,主要是alpha值、遮罩颜色等。
典型的构建函数为:
public MyOpaqueLayer(int Alpha, bool IsShowLoadingImage)
{
SetStyle(System.Windows.Forms.ControlStyles.Opaque, true);
base.CreateControl();
this._alpha = Alpha;
_new_brush_color = new Color();
_new_brush_color = Color.Transparent;
}
protected override void OnPaint(System.Windows.Forms.PaintEventArgs e) /// 自定义绘制窗体 绘制矩形并叠加
典型的绘制函数为
/// <summary>
/// 自定义绘制窗体
/// </summ