使用了ImageList控件,绑定代码如下ImageList.Images.Add(Image.FromFile("图片路径"));   ,想实现的效果是让所有ImageList中的图片都实现四个角是圆角的效果 ,请高手指点 谢谢 !

解决方案 »

  1.   

    this.TransparencyKey = System.Drawing.Color.White;
    这句话的意思是对本窗体所有白色地方做透明处理。
    最后把你的图片改成圆角并且设成圆角设成白色就可以了
      

  2.   

      你可以试着把每张图片都用gdi重绘过,把他放在一个圆形中,最终把他输出
      

  3.   

    读取图片,然后将图片重绘到bitmap上面,最后输出bitmap
      

  4.   

    第一种方法 直接用圆角图片 出图片部分其他地方为透明色
    比如用png格式的图片可以做圆角 也可以直接被image加载
    第二种方法有些复杂 需要你重绘控件 使图片在控件中呈现圆角 以后即使你改变图片 也会一直保持圆角
    比如 重绘一个panel使之圆角且有边线 需要重写重绘方法举例代码如下 private int Round = 8;        protected override void OnPaint(PaintEventArgs e)
            {
                base.OnPaint(e); //这里会绘image属性图片            e.Graphics.SmoothingMode = SmoothingMode.AntiAlias;            DrawFormBorder(e.Graphics);
            }        // 画边框
            public void DrawFormBorder(Graphics g)
            {
                using(GraphicsPath formBorderPath = new GraphicsPath())
                {
                    formBorderPath.AddArc(0, 0, Round, Round, 180, 90);
                    formBorderPath.AddArc(Width - Round - 1, 0, Round, Round, 270, 90);
                    formBorderPath.AddArc(Width - Round - 1, Height - Round - 1, Round, Round, 0, 90);
                    formBorderPath.AddArc(0, Height - Round - 1, Round, Round, 90, 90);                formBorderPath.CloseAllFigures();                using(Pen pen = new Pen(Color.Black))//这里可以改变边框的宽度 pen.Width
                    {
                        g.DrawPath(pen, formBorderPath);
                    }
                }
            }        //控件大小改变后 重新划定空间区域
            protected override void OnResize(System.EventArgs e)
            {
                base.OnResize(e);            using(GraphicsPath formBorderPath = new GraphicsPath())
                {
                    formBorderPath.AddArc(0, 0, Round, Round, 180, 90);
                    formBorderPath.AddArc(Width - Round, 0, Round, Round, 270, 90);
                    formBorderPath.AddArc(Width - Round, Height - Round, Round, Round, 0, 90);
                    formBorderPath.AddArc(0, Height - Round, Round, Round, 90, 90);                formBorderPath.CloseAllFigures();                this.Region = new Region(formBorderPath);
                }            this.Invalidate(true);
            }有些东西要慢慢琢磨的
      

  5.   

    将graphic的clip属性设置成圆角矩形就行了,画出的图形就是圆角了
      

  6.   

    graphic的clip属性  怎么设置 ?